使用 curl acbnewsonline.com.au 时,发现获取的源代码不完整,使用浏览器打开是没有问题的。
我看了下这个网站响应头,编码是chunked,跟这个有关系吗?
我看了下这个网站响应头,编码是chunked,跟这个有关系吗?
1
jakwings Feb 13, 2014 检查一下 UserAgent ?
|
2
horsley Feb 13, 2014
有的内容是js动态加载的?
|
4
notsobad Feb 13, 2014 curl --compressed acbnewsonline.com.au
|
8
jakwings Feb 13, 2014
@notsobad Thanks. 第一次知道还有这么麻烦的事情。Google 了一下,发现了这篇东东:
http://stackoverflow.com/questions/8364640/how-to-properly-handle-a-gzipped-page-when-using-curl 有人根据 HTTP 1.1 的规范指出这是 curl 的 bug …… |
10
learnshare Feb 13, 2014
|
11
jakwings Feb 13, 2014
@learnshare 无语,你试过 wget 上面的网址了吗?至少我没在 manpage 发现任何有关请求压缩格式的请求头的特别说明,在你给的文章中也没找到压缩两个字。
|
12
learnshare Feb 13, 2014
@jakwings 刚刚测试过了,测试命令:
wget -i http://acbnewsonline.com.au/ -F -x --ignore-tags=a -k 断网后本地打开,页面不完整。原因应该有两个: 1. 页面内容通过 JS/Ajax 生成,wget 无力; 2. 某段 JS 报错了。 Wget 只适合爬静态页面和文件,不过的确是支持 gzip 压缩的,参考 http://www.cyberciti.biz/faq/unix-linux-wget-download-compressed-gzip-headers/ |
13
jakwings Feb 13, 2014
@learnshare 好吧,你看 3 楼……
|
14
pubby Feb 13, 2014
测试了一下,果然奇葩。 绝对是服务器端有问题
|
15
pityonline Feb 13, 2014 via iPhone
chunked 是动态生成的吧?
|
16
VYSE Feb 14, 2014
这个nginx估计用了什么加速插件,GET里有
Accept-Encoding: deflate, gzip 时候才不是chunked response 浏览器里的 Accept-Encoding: gzip, deflate都不行 wget,curl命令行应该是不支持download chunked 试试aria2 |