wget返回一个3字节的主页

时间:2013-02-05 17:50:04

标签: wget

我正在尝试下载www.oabt.org上的网页。使用浏览器,它可以获得所有的HTML代码,但是使用wget我只得到3个字节的页面。

➜  spider git:(master) wget http://www.oabt.org/
--2013-02-06 01:45:11--  http://www.oabt.org/
Resolving www.oabt.org... 125.64.93.243
Connecting to www.oabt.org|125.64.93.243|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3 [text/html]
Saving to: ‘index.html’


100%[===============================================================================>] 3           --.-K/s   in 0s      

2013-02-06 01:45:12 (117 KB/s) - ‘index.html’ saved [3/3]

➜  spider git:(master) ✗ xxd -l 100 ./index.html 
0000000: efbb bf          

如何正确获取此网站的主页?

1 个答案:

答案 0 :(得分:1)

我使用wireshark转储了http连接,我在wget发送的标头和browser发送的标头之间做了差异。我尝试使用wget的--header参数复制相同的http请求,直到我发现网站需要Accept-Encoding: gzip标题才能正确回复。

简而言之,工作命令变为:

 wget --header='Accept-Encoding: gzip' http://www.oabt.org/index.php 

但这会保存gzipped内容......

如果要动态解压缩页面,请使用以下命令:

wget -O- --header='Accept-Encoding: gzip' \
http://www.oabt.org/index.php | gunzip - > index.html

...并且gzip压缩内容将被解压缩并重定向到index.html文件