如何在Python中下载带有请求的.gz文件而不进行解码?

如何在Python中下载带有请求的.gz文件而不进行解码?,python,download,request,Python,Download,Request,我正在使用请求下载文件: import requests req = requests.get(url, stream=True) with open(local_filename, 'wb') as f: for chunk in req.iter_content(chunk_size=1024): if chunk: f.write(chunk) f.flush() gzip文件的问题是它们被请求自动解码,因此我在磁

我正在使用
请求下载文件

import requests

req = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
    for chunk in req.iter_content(chunk_size=1024):
        if chunk:
            f.write(chunk)
            f.flush()
gzip文件的问题是它们被请求自动解码,因此我在磁盘上获得解包文件,而我需要原始文件


有没有办法告诉请求不要这样做?

如上所述,这似乎解决了问题:

发件人:

请求自动解压缩gzip编码的响应。。。如果需要,还可以直接访问原始响应(甚至套接字)

搜索文档中的“原始响应”会产生一个类似于
文件的原始响应流表示

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编码的响应,并将其从web服务器接收时逐块保存到文件中。

以下是我在谷歌搜索“python请求gzip”时发现的内容:于是我搜索了文档中的原始响应并找到了;也许这就是您需要的?这可能有助于您正确显示的代码为我下载
.gz
文件。你用的是什么服务器?
req.headers
的值是多少?您正在下载的URL是否公开,您可以与我们共享吗?请确定,您可以告诉我们您是如何确定您正在磁盘上获取解包文件的?您可以使用
URL='1'尝试您的代码吗https://wiki.mozilla.org/images/f/ff/Example.json.gz“
local_filename='Example.json.gz”
?那还会自动解压吗?非常感谢,效果非常好!