错误:HTTPS站点需要您的Web浏览器发送“Referer标头”,但没有发送

时间:2014-04-02 22:06:36

标签: python http httprequest

  

您看到此消息是因为此HTTPS站点需要“Referer”      标题'由您的Web浏览器发送,但没有发送。这个标题是      出于安全原因需要确保您的浏览器不存在      被第三方劫持。

我尝试使用请求登录网站但收到上述错误,如何创建“推荐人”    头'?

payload = {'inUserName': 'xxx.com', 'inUserPass': 'xxxxxx'}
url = 'https:xxxxxx'
req=requests.post(url, data=payload)
print(req.text)

2 个答案:

答案 0 :(得分:1)

您可以将要发送的标头作为关键字参数传递给request.post

payload = {'inUserName': 'xxx.com', 'inUserPass': 'xxxxxx'}
url = 'https:xxxxxx'
req=requests.post(url, data=payload, headers={'Referer': 'yourReferer')
print(req.text)

答案 1 :(得分:1)

我猜您正在使用此库:http://docs.python-requests.org/en/latest/user/quickstart/

如果是这种情况,您必须添加自定义标头Referer(请参阅Custom headers部分)。代码将是这样的:

url = '...'
payload = ...
headers = {'Referer': 'https://...'}

r = requests.post(url, data=payload, headers=headers)

有关引用者的更多信息,请参阅此维基百科文章:https://en.wikipedia.org/wiki/Referer