我使用的代码如下:
import requests
url='https://accounts.coursera.org/api/v1/login'
s=requests.session()
r0=s.get('https://www.coursera.org/')
print r0.cookies.keys()
print 'get homepage'
payload={'email': 'use_your_email', 'password': 'xxx_use_your_password', 'webrequest':'true'}
r= s.post(url, data=payload)
我收到的错误消息是无效的CSRF令牌,但实际上r0.cookie.keys()中没有数据,有人知道我的代码中是否有错误吗? 如果是,如何修改?任何线索?谢谢你:))
In [31]: r
Out[31]: <Response [400]>
In [32]: r.text
Out[32]: u'Invalid CSRF Token'
一些细节:流量发生在https协议上,似乎发生了一些重定向,不知道为什么需要重定向?也许它与安全问题有关。
答案 0 :(得分:1)
你必须添加标题&#34; x-csrf-token&#34;使用有效的令牌