【问题标题】:Python - Requests HTTP content-range not workingPython - 请求 HTTP 内容范围不起作用
【发布时间】:2020-11-11 06:44:06
【问题描述】:

谁能告诉我为什么我无法使用 content-range 标头获取内容范围,而是获取给定 url 中的全部内容。

import  requests
url="https://tools.ietf.org/rfc/rfc2822.txt "
content = requests.get(url)
content_len = int(content.headers['Content-Length'])
print(content_len)
headers = {f"Content-Range": f"bytes=0-100/{content_len}"}
r = requests.get(url, headers=headers)
print(r.content)

【问题讨论】:

  • requests 库不允许在标题中使用"content-range",它将返回整个文档。使用"Range" : "bytes =0-100"
  • 你能帮他解决一下哪个库支持内容范围

标签: python-requests http-content-range


【解决方案1】:

通常您会使用Range 而不是Content-Range 来请求资源的子集。然后服务器将回复HTTP 206 (Partial Content) status 并为您提供请求的范围。然后响应将包含 Content-Range 作为标头。

例如以下作品:

import  requests

url = "https://tools.ietf.org/html/rfc7233"
headers = {"Range": "bytes=0-500"}
r = requests.get(url, headers=headers)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多