使用requests.get()进行不完整下载 - Windows与Linux

时间:2016-01-12 16:09:44

标签: python python-requests

我有一个大文件(> 10G),我试图使用请求下载。在Windows上,如果我使用类似于下面的简化版本的代码:

request = requests.get(MyURL, stream=True)
with open(MyFile, 'wb') as fd:
    for chunk in request.iter_content(request_chunksize):
        if chunk:
            fd.write(chunk)

下载将在流程中的某个随机点停止,比如40%。它不会以任何方式抛出异常或错误,它会停止,我的程序将继续,就像它完成一样。如果我将请求修改为:

request = requests.get(MyURL, stream=True, timeout=(12, 6000))

然后在Windows上下载将运行到100%。如果我将这个新版本的代码移到Linux上,我会看到与以前相同的结果,下载将在某个随机点停止。关于为什么会出现这种行为以及如何解决这个问题的任何想法?

感谢。

0 个答案:

没有答案