2014-07-22 50 views
-1

我使用的代码如下:为什么我无法使用请求库登录coursera?

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协议,似乎有些重定向发生,不知道为什么需要重定向?也许它与安全问题有关。

回答

1

您必须添加带有效令牌的标头“x-csrf-token”

相关问题