根据this答案,我可以使用Range header只下载html页面的一部分,但是使用以下代码:

import requests

url = "http://stackoverflow.com"
headers = {"Range": "bytes=0-100"}  # first 100 bytes

r = requests.get(url, headers=headers)

print r.text

我得到了整个html页面。为什么不起作用?

最佳答案

如果Web服务器不支持Range头,则将忽略它。
尝试使用其他支持头的服务器,例如tools.ietf.org

import requests

url = "http://tools.ietf.org/rfc/rfc2822.txt"
headers = {"Range": "bytes=0-100"}
r = requests.get(url, headers=headers)
assert len(r.text) <= 101  # not exactly 101, because r.text does not include header

关于python - Python-请求HTTP范围不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40691996/

10-12 18:13