Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 请求:禁用自动解码_Python_Python Requests - Fatal编程技术网

Python 请求:禁用自动解码

Python 请求:禁用自动解码,python,python-requests,Python,Python Requests,您能否禁用请求版本1.2.3中的自动解码功能 我已经查看了文档,但找不到任何内容,我当前遇到gzip解码错误,希望手动调试通过请求发送的数据。您可以像这样访问原始响应: resp = requests.get(url, stream=True) resp.raw.read() 要使用raw,需要为原始请求设置stream=True。另外,raw是一个类似文件的对象,从response.content读取内容将影响搜索光标。换句话说:如果您已经(试图)读取response.content,res

您能否禁用
请求
版本1.2.3中的自动解码功能


我已经查看了文档,但找不到任何内容,我当前遇到gzip解码错误,希望手动调试通过请求发送的数据。

您可以像这样访问原始响应:

resp = requests.get(url, stream=True)
resp.raw.read()
要使用
raw
,需要为原始请求设置
stream=True
。另外,
raw
是一个类似文件的对象,从
response.content
读取内容将影响搜索光标。换句话说:如果您已经(试图)读取
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编码的响应,并且仍然将其逐块写入文件(对于获取大文件非常有用)

太棒了,正是我需要的,谢谢!