
1 cxh116 2016-12-05 16:05:52 +08:00 via Android 比如你抓取某台国内机器的资源,因为是在国内,所以建立连接很快,但它带宽只有 1M ,所以下载响应体很慢。 |
2 cloverstd 2016-12-05 16:06:39 +08:00 request 支持 stream 的方式,自己分片读,然后判断是否超时 |
3 JianBingXia OP @cxh116 现在是响应体下载很慢,想设置一个超时,应该怎么做呢? |
4 JianBingXia OP @cloverstd 如果我想设置一个针对响应体的超时怎么办呢? |
5 cloverstd 2016-12-05 16:16:40 +08:00 @JianBingXia http://docs.python-requests.org/en/master/user/advanced/#streaming-requests started_time = time.time() timeout = 60 r = requests.get('http://httpbin.org/stream/20', stream=True) if r.encoding is None: r.encoding = 'utf-8' for line in r.iter_lines(decode_unicode=True): if time.time() - started_time > 60: print "timeout" break if line: print json.loads(line) |
6 JianBingXia OP @cloverstd 感谢~~~,难为了我一下午的问题貌似有着落了,ORZ |
7 ibigbug 2016-12-05 22:44:23 +08:00 |