所以,我正在使用urllib2,它会在特定页面上保持冻结状态。甚至Ctrl-C都不会取消操作。它没有抛出任何错误(我抓住了一切),我无法弄清楚如何打破它。 urllib2是否有超时选项,默认为永不?
这是程序:
req = urllib2.Request(url,headers={'User-Agent':'...<chrome's user agent string>...'}) page = urllib2.urlopen(req) // p.s. I'm not installing any openers
然后,如果互联网在第二行(下载它)中途被切断,即使连接恢复,也会完全冻结程序。
以下是我在浏览器(Chrome)中从同一页面获得的响应标题:
HTTP/1.1 200 OK Date: Wed, 15 Feb 2017 18:12:12 GMT Content-Type: application/rss+xml; charset=UTF-8 Content-Length: 247377 Connection: keep-alive ETag: "00e0dd2d7cab7cffeca0b46775e1be7e" X-Robots-Tag: noindex, follow Link: ; rel="https://api.w.org/" Content-Encoding: gzip Vary: Accept-Encoding Cache-Control: max-age=600, private, must-revalidate Expires: Wed, 15 Feb 2017 18:12:07 GMT X-Cacheable: NO:Not Cacheable Accept-Ranges: bytes X-Served-From-Cache: Yes Server: cloudflare-nginx CF-RAY: 331ab9e1443656d5-IAD
P.S。网址是一个大的WordPress源,根据响应,它看起来是压缩的。