你能在requests
版本1.2.3中禁用自动解码功能吗?
我查看了文档但没有找到相关内容,目前我遇到了gzip解码错误,想要手动调试请求中传输的数据。
你能在requests
版本1.2.3中禁用自动解码功能吗?
我查看了文档但没有找到相关内容,目前我遇到了gzip解码错误,想要手动调试请求中传输的数据。
resp = requests.get(url, stream=True)
resp.raw.read()
raw
,您需要为原始请求设置stream=True
。raw
是一个file-like object,从response.content
读取会影响它的seek游标,因此,如果您读取response.content
,然后尝试response.raw.read()
,它将返回一个空的字节对象。import requests
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.raw.stream(1024, decode_content=False):
if chunk:
f.write(chunk)
这样,您将避免自动解压缩gzip编码的响应,并仍然将其分块写入文件(对于获取大文件非常有用)