Python requests 返回404响应
我在其他几个vbulletin论坛上用过这个脚本,结果都很好,只有这个网站不行。我查了很多次,找了找有没有拼写错误什么的,但就是搞不明白。我还创建了一个假用户账号来登录。
网站地址 = www.thereeftank.com
用户名 imadummy
密码 Imadummy123
这是我的代码,我得到了一个404的响应,但我搞不清楚这是怎么回事。
import requests
r = requests.session()
forumURL = "http://www.thereeftank.com/forums/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)',
'Referer': 'http://thereeftank.com/forums/'}
loginpayload = {
'vb_login_username': 'imadummy',
'vb_login_password': '',
's': '',
'securitytoken': 'guest',
'do': 'login',
'vb_login_md5password': '91af104d37ced6cc91958929b52be1bb',
'vb_login_md5password_utf': '91af104d37ced6cc91958929b52be1bb'}
def login():
loginURL = forumURL + 'login.php?do=login'
z = r.post(loginURL, data=loginpayload, headers=headers)
print z.url
print z
if 'Thank you for logging in, imadummy.' in z.text:
return True
else:
return False
print login()
1 个回答
1
在检查了“z”中的响应内容后,你实际上得到了
Invalid Redirect URL (http://thereeftank.com/forums/)
通过在你的Referer网址中添加“www.”来更改你的请求头,可以解决这个问题。
headers = {
'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)',
'Referer': 'http://www.thereeftank.com/forums/'}