最近想写一个断点下载视频的小工具,发现头信息 Accept-Ranges
在里面发挥了非常大的作用。
比如请求百度官网
1 | $ curl https://www.baiud.com -I |
其中 Accept-Ranges
返回值为 bytes
,这代表了该服务器可以接受范围请求,这样我们就可以做断点下载的功能了。如果该值为 none
,则代表不允许范围请求。
我们可以通过请求头 Range
来定义获取的字节范围,格式为 bytes=0-8
使用 curl 来请求
1 | $ curl https://www.baidu.com --header "Range: bytes=0-8" |
看到请求回来的数据只有 9 个字节
我们也可以使用更简单的方式请求
1 | $ curl https://www.baidu.com -r 0-8 |
利用这个特性,再加上多线程运行,即可写出下载更快的工具。
最近热读
扫码关注公众号,或搜索公众号“温欣爸比”
及时获取我的最新文章