如何使用 wget 禁用 gzip 压缩?

如何使用 wget 禁用 gzip 压缩?

还有其他的问题询问如何使能够使用 wget 进行 gzip 压缩,以及大量网页那里告诉我如何做到这一点,但我需要相反的。我正在尝试在本地镜像站点,而我只是将主页作为 gzip 压缩文件获取,这反过来又破坏了递归,因此我无法获取整个站点。

我可以压缩该文件,但这仍然不能让我递归下载整个采棉站点。

如何关闭或阻止 gzip 压缩?

编辑:我发出的确切命令是

wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com --reject png,jpg,jpeg,gif  --progress=dot --wait=7

答案1

噢!我想到了。我已经把

header = Accept-Encoding: gzip,deflate

在我~/.wgetrc前段时间,假设它只会影响数据通过网络传递的方式,从未想过 wget 将无法读取 gzip 压缩的数据。

回想起来,这是有道理的:这只是一个wget允许您使用的标头(因为它允许您使用浏览器可能传递的任何标头,或者您想要弥补的任何标头)而不是内置的开关wget,因此为什么有人期望wget自动处理 gzip 压缩?如果确实如此,那就太好了,但没有理由假设它会这样。

答案2

如果指定--header='Accept-Encoding: gzip,deflate'不起作用,也许这个会:

wget -O- http://example.com/file.gz | gunzip -c

或者通过使用curl它的libz库来通过 HTTP ( curl -V | grep libz) 自动解压压缩文件。它还具有--compress参数。

相关内容