我正在使用python请求库并尝试登录到https://www.udemy.com/join/login-popup/,问题是在使用以下标头时:
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
它返回CSRF verification failed. Request aborted
。你知道吗
当我把它改成:
headers = {'Referer': url}
它返回Please verify that you are a human
。你知道吗
有什么建议吗?你知道吗
我的代码:
import requests
with requests.session() as s:
url = 'https://www.udemy.com/join/login-popup/'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/74.0.3729.131 Safari/537.36'}
request = s.get(url, headers=headers)
cookies = dict(cookies=request.cookies)
csrf = request.cookies['csrftoken']
data_login = {'csrfmiddlewaretoken': csrf, 'locale': 'en_US', 'email': 'myemail',
'password': 'maypassword'}
request = s.post(url, data=data_login, headers={'Referer': url}, cookies=cookies['cookies'])
print(request.content)
您当前的代码有几个问题:
您使用的标题缺少一些内容
传递给
csrfmiddlewaretoken
的值不正确在使用
requests.session()
时,不应手动包含cookies(在本例中)请尝试以下代码:
(PS:我使用Beautifulsoup库来查找
csrfmiddlewaretoken
的值)希望这有帮助
相关问题 更多 >
编程相关推荐