还有其他的问题询问如何使能够使用 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
参数。