如何使用HTTPS的python请求

时间:2013-04-21 07:32:17

标签: python python-requests

我有这段代码:

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创建了一个类似的脚本,它的工作原理!

我的代码出了什么问题?感谢

1 个答案:

答案 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