python requests 如何设置下载超时?

0
抓es的包写了个针对百度云限速的python2脚本,运行在手机的qpython上,pip install eventlet失败(没有linux_android_gcc),彻底没辙,因此上知乎向各位老司机求教

不是request函数的timeout参数指定的那个连接超时,而是响应体的下载超时。
网上大部分都是用stream=True然后迭代,根据time.time()-start_time的大小来判定超时,
#不知道知乎怎么才能用空格缩进,遂用~代替,见谅
import xxx
def download():
~~~~while True:
~~~~~~~~z=requests.get(url,headers=headers,\ stream=True) ~~~~~~~~it=z.iter_content(chunk_size=65536)
~~~~~~~~sum=""
~~~~~~~~start_time=time.time()
~~~~~~~~~~~~for content in it:
~~~~~~~~~~~~~~~~if time.time()-start_time>10:
~~~~~~~~~~~~~~~~~~~~break
~~~~~~~~~~~~~~~~sum+=content
~~~~~~~~~~~~else:
~~~~~~~~~~~~~~~~return sum
但是不知道是医院wifi还是百度云服务器有毒,过一段时间根本就连一字节都读不动,卡在for循环头,根本进不到循环体的time.time()-start_time,完全没用,然后几十个线程陆续卡死,需要断开网络让它断开重连才行。请问应如何处理?
另外,使用requests怎样对<Response 206>的部分资源包(我不知道专业的应该怎么说)进行校验?由于医院的网络环境,我是按256kb一个包+多线程下载的,断网也不会导致要全部重下,但是不知道如何进行校验,一致一个视频时常就来几个变形马赛克或者鬼畜噪音,请问有没有办法解决?
已邀请:

要回复问题请先登录注册