今天做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一下。