如何使用python成功下载字节范围而不是完整文件?

时间:2017-09-06 12:10:45

标签: python http

我正在尝试仅下载文件的字节范围,我正在尝试以下过程:

r = requests.get('https://stackoverflow.com', headers={'Range':'bytes=0-999'})

但它给出了状态代码200而不是206,我得到了整个文件。

我尝试了这个Python: How to download file using range of bytes?,但它也给了我状态代码200.原因是什么?如何使用python部分下载文件?

stackoverflow的标头:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 04 Aug 2017 05:28:29 GMT
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 86fd186e-b5ac-472f-9d79-c45149343776  
Strict-Transport-Security: max-age=15552000
Content-Length: 107699
Accept-Ranges: bytes
Date: Wed, 06 Sep 2017 11:48:16 GMT
Via: 1.1 varnish
Age: 0
Connection: keep-alive
X-Served-By: cache-sin18023-SIN
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1504698496.659820,VS0,VE404
Vary: Fastly-SSL
X-DNS-Prefetch-Control: off
Set-Cookie: prov=6df82a45-2405-b1dd-1430-99e27827b360; domain=.stackoverflow.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Cache-Control: private

1 个答案:

答案 0 :(得分:2)

这需要服务器端支持。可能服务器不支持它。

要查找,请提出HEAD请求并查看回复是否有Accept-Ranges