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

前言:

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

意思:

2938580ec2fb81e8f3d326b5fc09bcbc.png

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

解决方案一:

502afa307f5b1b33e464d57276926461.png

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

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

继续排查:

解决方案二:

a0f0dbab7b214a2119fd3904c0c0da00.png

设置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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值