Bash Curl是在我没有';不要要求它

Bash Curl是在我没有';不要要求它,bash,curl,compression,Bash,Curl,Compression,这与我所有的搜索都不断给出答案的问题正好相反,人们想要纯文本,但得到了压缩 我正在编写一个bash脚本,它使用curl从一个Mailman邮件列表中获取邮件列表归档文件(使用服务器端的标准Mailman web界面) 该文件(本月)为(经过清理的URL) 事实上,当我用浏览器保存这个文件时,我得到了一个gzip文本文件,当解压缩时它包含了我所期望的内容 但是,当我使用Curl获取它时(之前发送了登录密码并获取了cookie集,并保存了cookie文件以便在请求中使用),stdout(或保存到-o

这与我所有的搜索都不断给出答案的问题正好相反,人们想要纯文本,但得到了压缩

我正在编写一个bash脚本,它使用curl从一个Mailman邮件列表中获取邮件列表归档文件(使用服务器端的标准Mailman web界面)

该文件(本月)为(经过清理的URL)

事实上,当我用浏览器保存这个文件时,我得到了一个gzip文本文件,当解压缩时它包含了我所期望的内容

但是,当我使用Curl获取它时(之前发送了登录密码并获取了cookie集,并保存了cookie文件以便在请求中使用),stdout(或保存到-o文件中)输出的是未压缩的文本

如何让Curl像浏览器一样将数据保存到文件中?(请注意,我在Curl调用中没有使用--compressed标志;这不是服务器压缩数据以进行传输的问题,而是下载服务器磁盘上压缩的文件的问题,我希望保持压缩。)


(显然,我可以通过在bash脚本中重新压缩它来解决这个问题。但是,这会浪费CPU资源,并且是一个等待将来发生的问题。或者,我可以不压缩它,将其名称破解并存储为just.txt;这反而会浪费磁盘空间。不过,如果行为在将来发生变化,这也会中断在我看来,问题似乎是Curl在压缩传输和实际压缩数据之间混淆了。)

您可以直接下载*.txt.gz,无需任何解压缩,使用“wget”而不是“Curl”

wget http://lists.example.com/private.cgi/listname-domain.com/2013-September.txt.gz

如果curl是必需的,请查看详细信息

服务器是否可能正在根据curl发送(或未发送)的头解压缩文件?使用curl尝试以下头:

--header 'Accept-Encoding: gzip,deflate'

显示您的HTTP响应头。您是否指定了
--tr encoding
?如何验证文件是否已解压缩?(我知道这听起来很奇怪,但如果答案是“我查看了它”,那么使用什么工具?)(或者,为了不那么神秘,如果您使用
less
查看文件,请尝试
less-L
)还有您正在使用的确切命令。可能重复的