首页 > 代码库 > 异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null
异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。