2017-02-13 63 views
0

请求库“http://docs.python-requests.org/en/master/” 当这段代码运行时,它应该登录到指定为url的网站,我想我已经有那部分工作成功,但真的不知道。我认为最近发生的事情是因为我没有正确地告诉网站保持python浏览器登录,它会立即退出,在发生这种情况之后,当我要求它打印网站代码时,它会再次被重定向到登录页面,然后打印而不是我想要打印的索引。Python 3.6帮助请求模块

在像有人来修理我的代码或因此它登录并下载索引页面,如果你会这么好心告诉我为什么我的代码不工作,说明至少有一点你的代码重写短ID。

import requests 

url = 'http://www.abcol.ac.uk/studentnet/timetables/login.cfm' 
payload = { 
    'usernameinput': 'ausername', 
    'passwordinput': 'apassword', 
} 

umeme = requests.session() 
r = requests.post(url, data=payload, headers={"Connection": "keep-alive"}) 
print (r.cookies) 
page = umeme.get('http://www.abcol.ac.uk/studentnet/timetables/index.cfm') 
print(page.content) 

页头是如下https://gyazo.com/7b402bf0142871cb03b379ae450792bf 不要犹豫,问我要更多的信息,如果你需要它 预先感谢任何帮助。

+0

什么是第一个请求的'status_code'?尝试在第二个请求中添加来自第一个请求的cookie,作为'umeme.get('http://www.abcol.ac.uk/studentnet/timetables/index.cfm',cookies = r.cookies.get_dict())' – Andersson

回答

0

您的负载不正确。表单提交的与有效载荷端点“form_submitted =真&用户名= &密码=”

您的有效载荷应该模仿这个,像这样:

payload = { 
    'username': 'ausername', 
    'password': 'apassword', 
    'form_submitted': 'true' 
}