如果您请求使用gzip格式的内容(使用正确的accept-encoding:gzip标头),那么据我了解,wget无法读取内容。因此,对于您击中的第一页,最终将只有一个压缩后的磁盘文件,但没有其他内容。
即,您不能使用wget请求压缩的内容并同时递归整个网站。
我认为有一个补丁允许wget支持此功能,但它不在默认的发行版本中。
如果包含-S标志,则可以判断Web服务器是否以正确的内容类型进行响应。例如,
wget -S --header="accept-encoding: gzip" wordpress.com
--2011-06-17 16:06:46-- http://wordpress.com/
Resolving wordpress.com (wordpress.com)... 72.233.104.124, 74.200.247.60, 76.74.254.126
Connecting to wordpress.com (wordpress.com)|72.233.104.124|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 17 Jun 2011 15:06:47 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Vary: Accept-Encoding
Last-Modified: Fri, 17 Jun 2011 15:04:57 +0000
Cache-Control: max-age=190, must-revalidate
Vary: Cookie
X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
X-Pingback: http://wordpress.com/xmlrpc.php
Link: <http://wp.me/1>; rel=shortlink
X-nananana: Batcache
Content-Encoding: gzip
Length: unspecified [text/html]
内容编码清楚地指出了gzip,但是对于linux.about.com(当前),
wget -S --header="accept-encoding: gzip" linux.about.com
--2011-06-17 16:12:55-- http://linux.about.com/
Resolving linux.about.com (linux.about.com)... 207.241.148.80
Connecting to linux.about.com (linux.about.com)|207.241.148.80|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Date: Fri, 17 Jun 2011 15:12:56 GMT
Server: Apache
Set-Cookie: TMog=B6HFCs2H20kA1I4N; domain=.about.com; path=/; expires=Sat, 22-Sep-12 14:19:35 GMT
Set-Cookie: Mint=B6HFCs2H20kA1I4N; domain=.about.com; path=/
Set-Cookie: zBT=1; domain=.about.com; path=/
Vary: *
PRAGMA: no-cache
P3P: CP="IDC DSP COR DEVa TAIa OUR BUS UNI"
Cache-Control: max-age=-3600
Expires: Fri, 17 Jun 2011 14:12:56 GMT
Connection: close
Content-Type: text/html
Length: unspecified [text/html]
它正在返回text / html。
由于某些较旧的浏览器仍然存在gzip编码内容的问题,因此许多站点仅基于浏览器标识来启用它。他们通常默认情况下将其关闭,并且仅在知道浏览器可以支持它的情况下才将其关闭-并且通常不在该列表中包含wget。这意味着您可能会发现wget永远不会返回gzip内容,即使该网站似乎针对您的浏览器也是如此。