我仍然是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
我的问题如下:
查找表单数据时,如何通过发布请求知道必须在字典中发回哪些项目。对于上述内容,是电子邮件&密码足够,浏览其他网站时,我怎么知道哪些是必要的?
以下代码应该可以使用,但不能。我做错了什么?
该示例包含用于确定浏览器类型的标题类别。另一个站点,例如www.slashdot.org,不需要标题值来登录。我如何知道哪些站点需要标题值以及哪些站点不需要?
任何可以提供意见并帮助我登录请求的人都会对我有所帮助。我非常感谢你。
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
答案 0 :(得分:1)
在查找表单数据时,如何通过发布请求知道我必须在字典中发回哪些项目。对于上述内容,是电子邮件&密码足够,浏览其他网站时,我怎么知道哪些是必要的?
您通常需要(a)阅读您正在使用的网站的文档(如果可用),或者(b)自己检查HTML(并可能跟踪http流量)以查看什么参数是必要的。
以下代码应该有效,但不是。我做错了什么?
您没有提供有关代码无法正常工作的任何详细信息。
该示例包含用于确定浏览器类型的标题类别。另一个网站,例如www.slashdot.org,不需要标题值来登录。我如何知道哪些网站需要标题值以及哪些网站不需要?
这里的答案与第一个问题的答案非常相似。要么您正在使用存在可以回答此问题的文档的API,要么您尝试通过Web浏览器自动化主要为人类消费而设计的网站,这意味着您将要弄清楚通过调查,试验和错误确切地说,您需要提供哪些参数才能使远程服务器满意。