【问题标题】:Is there any way to get curl to decompress a response without sending the Accept headers in the request?有没有办法让 curl 解压缩响应而不在请求中发送 Accept 标头?
【发布时间】:2013-09-29 19:02:55
【问题描述】:

有没有办法让 curl 解压缩响应而不在请求中发送 Accept-encoding 标头?

我正在尝试调试 Accept-encoding 标头的顺序可能相关的问题,但我还需要知道响应是什么。如果我只是发送-H 'Accept-encoding: gzip 并且服务器 gzip 响应,curl 不会解压缩它。

【问题讨论】:

标签: curl gzip


【解决方案1】:

curl --compressed http://example.com 请求 gzip 压缩的数据并在写入磁盘之前将其解压缩。

【讨论】:

  • 使用--compressed 标志,curl 将发送Accept-Encoding: gzip 请求标头。听起来这对于操作人员想要的东西来说可能很好,但这并不能直接满足这个问题。 (我发现这个问题是因为我确实希望 curl 在不发送标头的情况下解压缩)
【解决方案2】:

可能最简单的方法就是使用gunzip 来做:

curl -sH 'Accept-encoding: gzip' http://example.com/ | gunzip -

或者还有--compressedcurl 将解压缩(我相信),因为它知道响应被压缩。但是,不确定这是否满足您的需求。

【讨论】:

  • 像魅力一样工作!当也有输出标题时,有什么方法可以让它工作,还是要求太多?
  • @Jun-DaiBates-Kobashigawa 您可以使用 -D 将标头转储到文件中,例如-D headers.txt 它将带外保存到文件中,这样就不会搞砸你的 gzip 编码。
猜你喜欢
  • 2013-08-13
  • 2020-01-18
  • 1970-01-01
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2012-01-13
  • 1970-01-01
相关资源
最近更新 更多