【发布时间】:2010-12-06 10:48:56
【问题描述】:
是否可以使用 httplib2 限制响应大小?例如,如果它看到超过 X 字节的 HTTP 正文,则连接将关闭而不会消耗更多带宽。或者可能只下载文件的前 X 个字节。
【问题讨论】:
-
请求库可以轻松完成这项工作 import requests begin = requests.get('example.com/').iter_content(1024).next()
是否可以使用 httplib2 限制响应大小?例如,如果它看到超过 X 字节的 HTTP 正文,则连接将关闭而不会消耗更多带宽。或者可能只下载文件的前 X 个字节。
【问题讨论】:
假设服务器在Content-Length响应头域中发送响应体大小,你可以自己做。
首先,调用Http.request(method="HEAD") 仅检索标头而不检索正文。然后检查响应的Content-Length 字段,看看它是否低于您的阈值。如果是,则使用正确的GET 或POST 方法发出第二个请求以检索正文;否则产生错误。
如果服务器没有给你 Content-Length (或者在撒谎),看起来好像没有办法在一些字节后切断下载。
【讨论】: