Почему мне не удалось войти в систему 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)
Я получаю сообщение об ошибке Invalid CSRF Token, но на самом деле в 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" с действительным токеном