我是编写Python程序的新手,并且没有在网站上自动执行用户任务的经验,所以如果我忽略了显而易见的事情,我会道歉。
我正在尝试做的是自动从Intranet站点下载文件。没有特定的URL,因为它是一个javascript网站,所以我的想法是自动化用户下载文件的步骤,即1)登录到网站2)导航到“报告”链接3)打开并提交创建报告的表单。
我发现自己在尝试登录网站时陷入了困境。如果我导航到登录页面“... / example.asp / login / default.asp”,我收到错误“未授权:无效凭据错误”。有趣的是,如果我尝试直接导航到报告链接,我会被发送到超时页面“您的会话已过期,请点击此处登录” - 此处将我重定向回login / default.asp页面。
非常感谢任何想法如何解决这个问题!
以下是我一直在使用的基本代码:
import requests
from requests import session
url = 'http://example.com/example_asp/login/default.asp'
payload = {
'username': 'UID',
'password': 'PWD'
}
with session() as c:
request = c.get(url, payload)
print(request.text)
答案 0 :(得分:1)
为了解决身份验证问题,我使用了我的Chrome浏览器Cookie和此脚本:http://n8henrie.com/2014/05/decrypt-chrome-cookies-with-python/
使一切变得非常简单:
url = 'http://www.example.com'
s = requests.Session()
cookies = pyCookieCheat.chrome_cookies(url)
s.get(url, cookies = cookies)