如何为可更新下载制作python脚本?

如何为可更新下载制作python脚本?,python,download,Python,Download,我一直在搜索(没有结果)一种可重新编辑(我不知道这是否是正确的词,对不起)的方法来使用python从internet下载大文件,我知道如何直接使用urllib2进行下载,但是如果有什么东西中断了连接,我需要某种方法重新连接并在可能的情况下继续下载(如下载管理器).对于其他可以帮助回答问题的人,有一个名为Chunked Transfer Encoding的HTTP协议,该协议允许指定请求的“Range”头以及开始和结束字节(用破折号分隔),因此,只需计算之前下载的字节数,并将其作为新的开始字节发送

我一直在搜索(没有结果)一种可重新编辑(我不知道这是否是正确的词,对不起)的方法来使用python从internet下载大文件,我知道如何直接使用urllib2进行下载,但是如果有什么东西中断了连接,我需要某种方法重新连接并在可能的情况下继续下载(如下载管理器).

对于其他可以帮助回答问题的人,有一个名为Chunked Transfer Encoding的HTTP协议,该协议允许指定请求的“Range”头以及开始和结束字节(用破折号分隔),因此,只需计算之前下载的字节数,并将其作为新的开始字节发送,即可继续下载。请求模块的示例:

import requests
from os.path import getsize

#get size of previous downloaded chunk file
beg = getsize(PATH_TO_FILE)
#if we want we can get the size before download the file (without actually download it)
end = request.head(URL).headers['content-length']
#continue the download in the next byte from where it stopped
headers = {'Range': "bytes=%d-%s"%(beg+1,end)}
download = requests.get(URL, headers=headers)
副本:可能的副本