您能告诉我如何将请求版本设置为低于urllib的工作吗?我不知道出了什么问题。实际上,需要referer标头,以便我的请求不会重定向到主页。 urllib版本似乎正确处理,然后我可以下载该文件。重定向到主页的请求案例不是这种情况。似乎没有考虑referer标题,我被重定向到主页。
由于
urllib version
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
答案 0 :(得分:0)
标头dict作为另一个参数传递。替换:
r = requests.get(url, headers)
与
r = requests.get(url, headers=headers)
解决了这个问题。