您的位置:首页 > 编程语言 > Java开发

java爬虫问题一: 解决使用htmlunit 时候ssl认证失败问题

2018-02-28 00:00 465 查看
前言:

在使用htmlunit 爬取其他网站信息的时候,提示错误信息:unable to find valid certification path to requested target

意思:



说明证书问题。各种检索,使用了很多方法,以下记录解决思路:

解决方案一:



一种解决方案是: webClient.getOptions().setUseInsecureSSL(true);

这么设置之后,确实没有在提示unable to find valid certification path to requested target错误了。但是引发了其他的问题。所以该方案不成立。

继续排查:

解决方案二:



设置setUseInsecureSSL(false);

重要代码:

WebClient webClient = new WebClient(BrowserVersion.CHROME);
/*** htmlunit unable to find valid certification path to requested target
**/
webClient.getOptions().setThrowExceptionOnScriptError(false);//当JS执行出错的时候是否抛出异常, 这里选择不需要
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);//当HTTP的状态非200时是否抛出异常, 这里选择不需要
webClient.getOptions().setActiveXNative(false);
// webClient.getOptions().setCssEnabled(false);//是否启用CSS, 因为不需要展现页面, 所以不需要启用
webClient.getOptions().setJavaScriptEnabled(true); //很重要,启用JS
webClient.setAjaxController(new NicelyResynchronizingAjaxController());//很重要,设置支持AJAX
添加上面代码问题完美解决。

凯哥个人网站:www.kaigejava.com

微信公众号:kaigejava
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐