Python3请求,cookie已设置但仍未授权401

时间:2018-03-21 09:14:51

标签: python-3.x rest cookies python-requests

我可以通过Firefox访问网站,这需要身份验证。我确切地知道通过删除所有其他cookie而与会话相关联的cookie。

我需要将来自python脚本的REST Get请求发送到此网站。我正在设置cookie:

import requests

header = dict(PHPSESSID='cookie...')

resp = requests.get("http://website/with/rest/api?arguments...", cookies=header)

print(resp)
print(resp.text)

但答案总是

<Response [401]>
Not Authorized

什么机制阻止我从脚本访问网站?我不知道除了cookie以外的任何东西来识别自己。

1 个答案:

答案 0 :(得分:1)

您需要欺骗网站,以便它认为您使用的是浏览器。

为此,请使用与此trick_header = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0'}类似的标题,然后调用requests.get("http://website/with/rest/api?arguments...", cookies=header, headers=trick_header)