我可以通过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以外的任何东西来识别自己。
答案 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)