python request.geturl超时,但可在浏览器chrome中工作;如何为特定主机定制请求标头?

问题描述

我正在尝试使用python请求模块下载文件,我的代码适用于某些url /主机,但是遇到了无法使用的代码

基于其他可能与User-Agent请求标头有关的类似问题,我尝试通过添加chrome用户代理进行补救,但该特定网址的连接仍然超时(它确实适用于其他网址)。

我已经测试了在chrome浏览器中打开网址(一切正常)并检查了请求标头,但是我仍然无法弄清楚为什么我的代码失败了:

DELETE

更新2020-08-14 我弄清楚出了什么问题;在代码正常工作的实例上,URL使用https协议。此网址是http协议,我的代理设置未配置为仅HTTP https。提供http代理请求后,我的代码按编写的方式工作。

解决方法

您可以通过传递timeout=None来禁用请求的超时。这是官方文档:https://requests.readthedocs.io/en/master/user/advanced/#timeouts

,

您发布的代码对我有用,它保存了文件(129007行)。可能是主机在限制您的速率,请稍后再试以查看它是否有效。

# count lines 
$ wc -l test.csv 
129007 test.csv

# inspect headers
$ head -n 4 test.csv
Date,Region_Name,Area_Code,Index
1968-04-01,Wales,W92000004,2.11932727
1968-04-01,Scotland,S92000003,2.108087275
1968-04-01,Northern Ireland,N92000001,3.300419757