如何"暂停"和"恢复"下载工作?

DNB*_*ims 3 python binary download

通常,从服务器下载文件是这样的:

fp = open(file, 'wb')
req = urllib2.urlopen(url)
for line in req:
    fp.write(line)
fp.close()
Run Code Online (Sandbox Code Playgroud)

下载后,下载过程刚刚完成,如果进程停止或中断,下载过程需要重新开始...所以,我想让我的程序暂停,并恢复下载,它是如何实际工作的?谢谢.

fre*_*ler 9

Web服务器必须支持范围请求以允许暂停/恢复下载.

如果客户端想要检索指定的字节,则会在请求中添加Range标头:

Range: bytes=0-999
Run Code Online (Sandbox Code Playgroud)

服务器将返回部分内容响应,如下所示:

HTTP/1.0 206 Partial Content
Accept-Ranges: bytes
Content-Length: 1000
Content-Range: bytes 0-999/2200

balabalaa....
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参见http://www.w3.org/Protocols/rfc2616/rfc2616.html