码迷,mamicode.com
首页 > 编程语言 > 详细

异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null

时间:2014-09-04 20:46:10      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   java   ar   for   

nutch 运行时异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null

参考:http://www.tuicool.com/articles/faUB73

此页面采用这个是一个分段传输,而nutch爬虫则默认采用了非分段式处理,导致构造GZIP时出错,从而影响了后面的GZIP解压失败。
是否是分段传输可以在Http headers里面看到,如果是分段传输则有:transfer-encoding:chunked这样一个响应。

 

解决方案:


第一步(修改主程序)
cd /codes/download/apache-nutch-1.2/src/java/org/apache/nutch/metadata/
vim HttpHeaders.java
增加字段:
 public final static String TRANSFER_ENCODING = "Transfer-Encoding";

第二部(修改插件protocol-http)
cd /codes/download/apache-nutch-1.2/src/plugin/protocol-http/src/java/org/apache/nutch/protocol/http/

158       String transferEncoding = getHeader(Response.TRANSFER_ENCODING);
159       if(transferEncoding != null && "chunked".equalsIgnoreCase(transferEncoding.trim())){
160         this.readChunkedContent(in, line);
161          }else{
162           readPlainContent(in);
163          }

 第三步: 重新编译,ant, ant jar

 

 第四步:将 build文件夹下的 nutch-1.2.job nutch-1.2.jar 拷贝到bin相应目录下
        bulid/protocol-http/protocol-http.jar  拷贝到  bin的相应的plugins 目录下

测试通过




 

异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null

标签:des   style   blog   http   color   io   java   ar   for   

原文地址:http://www.cnblogs.com/i80386/p/3956766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!