流式下载大型文件,python请求中断
我在PythonRequests v中的流式下载大文件(大约1.5 GB)时遇到问题。2.0.1流式下载大型文件,python请求中断,python,python-requests,Python,Python Requests,我在PythonRequests v中的流式下载大文件(大约1.5 GB)时遇到问题。2.0.1 with open("saved.rar",'wb') as file: r = session.get(url,stream=True,timeout=3600) for chunk in r.iter_content(chunk_size=1024): if chunk: file.write(chunk) file
with open("saved.rar",'wb') as file:
r = session.get(url,stream=True,timeout=3600)
for chunk in r.iter_content(chunk_size=1024):
if chunk:
file.write(chunk)
file.flush()
我在我的vps上测试了几次,有时它下载了200mb、500mb或800mb,并保存了下来,没有任何错误。它没有达到超时,只是像完成下载一样停止
我下载这个文件的主机是稳定的,因为我在浏览器中下载这个文件没有任何问题
有没有办法下载python请求中的大文件并100%确定其整个文件
@编辑
我已经用urllib解决了这个问题,问题只在于请求。
无论如何,谢谢您的帮助。可能有几个问题会导致下载中断。网络问题等。但在开始下载之前,我们知道文件大小。为了检查您是否下载了整个文件,您可以使用urllib:
site = urllib.urlopen("http://python.org")
meta = site.info()
print meta.getheaders("Content-Length")
使用请求:
r = requests.get("http://python.org")
r.headers["Content-Length"]
我被你头像里的照片弄得心烦意乱!英雄联盟我在开玩笑。不太常见,所以。。。。查看此链接…@Jack\u of_All\u Trades不幸的是,我在那里没有找到任何东西。这和我的代码是一样的。好吧,但我想知道请求有什么问题,因为我需要下载文件10次才能得到整个文件,而curl没有同样的问题。您可能需要os.fsync(),如中所述。尝试记录任何错误和异常。我怀疑可能是内存不足的消息。