我有这段代码:
import requests
url = 'https://mobile.twitter.com/session/new'
payload = {
'username': 'username',
'password': 'password',
}
with requests.Session() as c:
c.post(url, data=payload)
r = c.get('https://mobile.twitter.com/account')
print 'username' in r.content
目标是登录twitter手机(我知道有一个API,这只是为了好玩)...我已经使用mechanize创建了一个类似的脚本,它的工作原理!
我的代码出了什么问题?感谢
答案 0 :(得分:3)
如果您查看登录表单隐藏字段,您会找到authenticity_token
,这是必需的。此外,您的url
错了。
这是完整的例子:
import requests
from lxml.html import fromstring
with requests.Session() as c:
url = 'https://mobile.twitter.com/session'
response = c.get(url)
html = fromstring(response.content)
payload = dict(html.forms[0].fields)
payload.update({
'username': '<username>@gmail.com',
'password': '<password>',
})
print payload
c.post(url, data=payload)
r = c.get('https://mobile.twitter.com/account')
print '<username>' in r.content