Python请求登录

时间:2015-06-05 23:49:53

标签: python login python-requests

我仍然是python的新手并且对使用请求登录有一些疑问。我已阅读了几个小时但似乎无法得到以下问题的答案。如果我选择www.amazon.com这样的网站。我可以登录&确定登录链接:https://www.amazon.com/gp/sign-in.html ...

我还可以找到发送的表单数据,其中包括以下项目:

appActionToken:
appAction:SIGNIN
openid.pape.max_auth_age:ape:MA==
openid.return_to:
password: XXXX
email: XXXX
prevRID:
create:  
metadata1: XXXX

我的问题如下:

  1. 查找表单数据时,如何通过发布请求知道必须在字典中发回哪些项目。对于上述内容,是电子邮件&密码足够,浏览其他网站时,我怎么知道哪些是必要的?

  2. 以下代码应该可以使用,但不能。我做错了什么?

  3. 该示例包含用于确定浏览器类型的标题类别。另一个站点,例如www.slashdot.org,不需要标题值来登录。我如何知道哪些站点需要标题值以及哪些站点不需要?

  4. 任何可以提供意见并帮助我登录请求的人都会对我有所帮助。我非常感谢你。

    import requests
    session = requests.Session()
    data = {'email':'xxxxx', 'password':'xxxxx'}
    header={'User-Agent' : 'Mozilla/5.0'}
    response = session.post('https://www.amazon.com/gp/sign-in.html', data,headers=header)
    print response.content
    

1 个答案:

答案 0 :(得分:1)

  

在查找表单数据时,如何通过发布请求知道我必须在字典中发回哪些项目。对于上述内容,是电子邮件&密码足够,浏览其他网站时,我怎么知道哪些是必要的?

您通常需要(a)阅读您正在使用的网站的文档(如果可用),或者(b)自己检查HTML(并可能跟踪http流量)以查看什么参数是必要的。

  

以下代码应该有效,但不是。我做错了什么?

您没有提供有关代码无法正常工作的任何详细信息。

  

该示例包含用于确定浏览器类型的标题类别。另一个网站,例如www.slashdot.org,不需要标题值来登录。我如何知道哪些网站需要标题值以及哪些网站不需要?

这里的答案与第一个问题的答案非常相似。要么您正在使用存在可以回答此问题的文档的API,要么您尝试通过Web浏览器自动化主要为人类消费而设计的网站,这意味着您将要弄清楚通过调查,试验和错误确切地说,您需要提供哪些参数才能使远程服务器满意。