凱哥Java 凱哥java
前言:html
在使用htmlunit 爬取其餘網站信息的時候,提示錯誤信息:unable to find valid certification path to requested targetjava
意思:web
說明證書問題。各類檢索,使用了不少方法,如下記錄解決思路:ide
解決方案一:網站
一種解決方案是: webClient.getOptions().setUseInsecureSSL(true);code
這麼設置以後,確實沒有在提示unable to find valid certification path to requested target錯誤了。可是引起了其餘的問題。因此該方案不成立。htm
繼續排查:blog
解決方案二:ip
設置setUseInsecureSSL(false);ssl
重要代碼:
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
添加上面代碼問題完美解決。