douzhi2760 2018-03-26 08:39
浏览 68
已采纳

禁用从服务器接收的带有错误头的HTTP正文的解压缩

I have a simple, but infuriating issue: I'm trying to automatically download .tar.gz files from a web server, perform an MD5 checksum on them, and decompress them into a directory.

This is fairly easy to do, except for one problem: Some of the files have a Content-Encoding: x-gzip header set. This causes the "net/http" client to automatically decompress these files, making it impossible to verify their contents, and worse, making it difficult to unpack them (since you never quite know if you need to decompress them or not).

The server isn't mine, so I can't just fix the headers.

Is there any way to completely disable automatic decompression of response bodies with "net/http"? Failing that, is there anything else I can do to work around this issue?

  • 写回答

1条回答 默认 最新

  • dongyuqie4322 2018-03-26 09:02
    关注

    Yes, you can do this with a custom HTTP transport:

    tr := &http.Transport{
        DisableCompression: true,
    }
    client := &http.Client{Transport: tr}
    

    This client will not decompress any of the responses, so you're free to handle that yourself

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起