我尝试登录此site。我总是有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
或来自here的所有内容都会返回403.问题是什么?是的,我可以使用浏览器的cookie,但我想了解,为什么这个代码错了。如何解决?
感谢。
答案 0 :(得分:1)
首先,您尝试发布到/profile
,而登录表单操作为/profile/login
。
其次,您以data
和auth
参数的形式发送凭据。 auth
用于HTTP基本身份验证,可能不是您想要的。没有必要这样做。
第三,请注意,错误403 Forbidden
与401 Unauthorized
不同。 403表示服务器拒绝响应它,并且身份验证不会产生任何影响。当然,有可能实现它的人不知道其中的差异,但也可能是他们正在追踪其他东西,并试图像你想要的那样阻止自动访问。