0

我尝试登录这个网站。我总是有403错误。

代码:

import requests
session = requests.session()
headers = {'User-Agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36'}
login = 'email'
password = 'my_pass'
url_login = 'https://www.avito.ru/profile/'
r = session.post(url_login, headers=headers, allow_redirects=True, verify=True, auth=(login, password))
or
r = requests.post(url_login, data={'login':login, 'password': password}, auth=(login, password), allow_redirects=True, headers=headers,)


print r.status_code

或者这里的所有内容都返回 403。有什么问题?是的,我可以使用浏览器中的 cookie,但我想了解为什么这段代码会出错。如何解决?

谢谢。

4

1 回答 1

1

首先,您尝试发布到/profile,而登录表单操作是/profile/login

其次,您以表单dataauth参数的形式发送您的凭据。这auth是用于 HTTP 基本身份验证的,它可能不是您想要的。没有必要这样做。

第三,请记住 error403 Forbidden401 Unauthorized. 403 表示服务器拒绝响应它并且身份验证不会产生影响。当然,实施它的人有可能不知道其中的区别,但也有可能他们正在跟踪其他内容并试图阻止自动访问,就像您正在尝试做的那样。

于 2013-11-11T14:52:53.260 回答