今天做case分析,发现一个抓取失败的case,失败为抓取中错误。

使用wget 测试,发现经常出现connection reset by peer。

经过多次尝试,发现偶有成功案例。

后来使用curl测试了一下,发现是ok的。和wget的测试几乎倒转。(几乎全是成功,偶有失败,但是很少了)

查了下资料,对了wget和curl, 发现最大的区别是wget仅支持http 1.0,而curl默认支持的为http1.1。

而查询资料,http 1.0和http1.1 比较明显的区别是对长连接的支持和chunked的支持。基于此,

查看curl使用说明,使用curl -0 使用http1.0测试,发现失败又是很多。

同时使用http1.1时又做了个尝试,使用-H Connection:close 发现又失败很多。

 
目前的结论是必须http1.1 ,同时Connection:keep-alive 才能fix该case。
具体原因还待分析。mark一下。
posted on 2012-12-25 21:28  @且听风吟@  阅读(180)  评论(0编辑  收藏  举报