大文件断点续传功能

fansichao 2021-10-23 16:25:17
Categories: Tags:

由于普通下载时,文件会缓存在内存中,当文件大小超过内存时,会报内存溢出错误,从而下载失败。

1
2
3
4
5
6
7
8
9
10
import requests

# stream=True 客户端不会立即下载文件的内容,但客户端与服务端会持续建立 HTTP 连接
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(filename, 'wb') as fp:
# chunk_size 实现分块下载
for chunk in r.iter_content(chunk_size=512):
if chunk:
fp.write(chunk)

参考资源