@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

wget镜像站点失败一例

Posted by zeal on 2009-02-01 10:10 , 1712 characters |  + 1 - 0   English
转载请保留本行原始出处声明信息 : http://www.zeali.net/entry/603 MaDe1nZEAL
标签 ( 网络 ):

w3schools 是我习惯用来做速查手册的一个站点,很全很强大。可就是访问速度实在不敢恭维,经常急着要查某个属性方法的时候它就给你转个不停愣是不出内容。所以想用 wget 来抓一份镜像过来在本地使用:

wget --output-file=mirror.w3shools.log --mirror --relative --level=3 --background --random-wait --no-host-directories --directory-prefix=w3cshool --convert-links --backup-converted --html-extension --tries=99 --timeout=60 --no-cache --no-cookies

结果发现除了首页之外,其他页面抓到的都是不完整的内容。用 wget 抓单个子页面

wget "http://www.w3schools.com/xml/default.asp"

得到的也是不完整的内容,到<body>就结束了。但如果改用 curl 来抓就是正常的完整内容。百思不得其解。

没办法只好用 wget -d 把原始的 http request header 打出来跟 curl 的比较,去除所有多余的 header 之后发现居然是 User-Agent 在作怪。用 telnet 来测试:

[root@zeal-web w3shools]# telnet www.w3schools.com 80
Trying 216.128.29.26...
Connected to www.w3schools.com (216.128.29.26).
Escape character is '^]'.
HEAD /xml/default.asp HTTP/1.0
User-Agent: Wget/1.10.2
Host: www.w3schools.com

HTTP/1.1 200 OK
Connection: close
Date: Wed, 28 Jan 2009 10:02:47 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
Content-Length: 1603
Content-Type: text/html
... ...
Connection closed by foreign host.


[root@zeal-web w3shools]# telnet www.w3schools.com 80
Trying 216.128.29.26...
Connected to www.w3schools.com (216.128.29.26).
Escape character is '^]'.
HEAD /xml/default.asp HTTP/1.0
User-Agent: hELLLO WORLD
Host: www.w3schools.com

HTTP/1.1 200 OK
Connection: close
Date: Sun, 01 Feb 2009 01:10:32 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
Content-Length: 27050
Content-Type: text/html
... ...
Connection closed by foreign host.

只要 User-Agent 头信息包含了 wget 字样返回的 Content-Length 就有问题了。貌似 w3schools 对 User-Agent 做了限制。给 wget 加上 --user-agent="Mozilla/5.0 anything else..." 就行了。

3 条评论:
- 百威网络 () (link) 于 2009-02-08 11:58
收藏。。。。
- joecen (link) 于 2009-02-09 14:09
国内貌似有个山寨版的:
http://www.w3school.com.cn/index.html
- 小林 (link) 于 2009-02-16 02:16
偶也是去国内的这个
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号