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

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2018-02-28 13:00
  • 3040人已阅读
简介 前言:在使用htmlunit爬取其他网站信息的时候,提示错误信息:unabletofindvalidcertificationpathtorequestedtarget意思:说明证书问题。各种检索,使用了很多方法,以下记录解决思路:解决方案一:一种解决方案是:webClient.getOptions().setUseInsecureSSL(true);这么设置之后,确实没有在提示unabletof

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

前言:

在使用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

添加上面代码问题完美解决。


TopTop