python请求头的奇怪行为

2024-04-25 20:54:02 发布

您现在位置:Python中文网/ 问答频道 /正文

你能让我知道如何使下面的请求版本像urllib一样工作吗?我不知道出了什么问题。实际上,需要referer头,这样我的请求就不会被重定向到主页。urllib版本似乎可以正确地处理这个问题,然后我就可以下载这个文件了。这不是重定向到主页的请求案例的情况。似乎没有考虑referer标题,我被重定向到主页。你知道吗

谢谢

urllib版本

import urllib.request
url = "http://www.truefx.com/dev/data/2017/MARCH-2017/EURUSD-2017-03.zip"
request = urllib.request.Request(url)
request.add_header('Referer', 'http://www.truefx.com/')
response = urllib.request.urlopen(request)
# Check for redirect
print("Final url:" + response.geturl())
print("Code: " + str(response.code))
print("File size: " + str(response.length))

输出:

> Final url:http://www.truefx.com/dev/data/2017/MARCH-2017/EURUSD-2017-03.zip
> Code: 200
> File size: 53041630

请求版本

url = "http://www.truefx.com/dev/data/2017/MARCH-2017/EURUSD-2017-03.zip"
headers = {"referer": "http://www.truefx.com/?page=download"}
r = requests.get(url, headers)
print(r.url)
print(r.status_code)

输出:

http://www.truefx.com
200

Tags: dev版本comhttpurldataresponserequest

热门问题