【发布时间】:2013-09-29 19:02:55
【问题描述】:
有没有办法让 curl 解压缩响应而不在请求中发送 Accept-encoding 标头?
我正在尝试调试 Accept-encoding 标头的顺序可能相关的问题,但我还需要知道响应是什么。如果我只是发送-H 'Accept-encoding: gzip 并且服务器 gzip 响应,curl 不会解压缩它。
【问题讨论】:
有没有办法让 curl 解压缩响应而不在请求中发送 Accept-encoding 标头?
我正在尝试调试 Accept-encoding 标头的顺序可能相关的问题,但我还需要知道响应是什么。如果我只是发送-H 'Accept-encoding: gzip 并且服务器 gzip 响应,curl 不会解压缩它。
【问题讨论】:
curl --compressed http://example.com 请求 gzip 压缩的数据并在写入磁盘之前将其解压缩。
【讨论】:
--compressed 标志,curl 将发送Accept-Encoding: gzip 请求标头。听起来这对于操作人员想要的东西来说可能很好,但这并不能直接满足这个问题。 (我发现这个问题是因为我确实希望 curl 在不发送标头的情况下解压缩)
可能最简单的方法就是使用gunzip 来做:
curl -sH 'Accept-encoding: gzip' http://example.com/ | gunzip -
或者还有--compressed,curl 将解压缩(我相信),因为它知道响应被压缩。但是,不确定这是否满足您的需求。
【讨论】:
-D headers.txt 它将带外保存到文件中,这样就不会搞砸你的 gzip 编码。