getPage()
HtmlUnit的功能并不总是抛出异常javax.net.ssl.SSLException: Invalid TLS padding data
,javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
但在两个三个请求之后它开始抛出异常。
URL 使用HTTPS
协议。
知道它有什么问题吗?如何解决?
片段:
为多个请求调用网页会引发上述异常:
public static WebClient getLoggedInHtmlUnit() {
webClient = new WebClient(BrowserVersion.FIREFOX_24);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false); // I think this speeds the thing up
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getCookieManager().setCookiesEnabled(true);
webClient.getOptions().setUseInsecureSSL(true);
try {
final HtmlPage page = webClient.getPage(LOGIN_URL); //https://consyn.elsevier.com/user/login
final HtmlForm form = page.getForms().get(0);
final HtmlTextInput textField = form.getInputByName(USERNAME_BYINPUT_NAME);
final HtmlPasswordInput pwd = form.getInputByName(PASSWORD_BYINPUT_NAME);
textField.setValueAttribute(USERNAME);
pwd.setValueAttribute(PASSWORD);
final HtmlSubmitInput button = (HtmlSubmitInput) form.getInputsByValue(LOGIN_BYVALUE).get(0);
button.click();
return webClient;
} catch (FailingHttpStatusCodeException | IOException e) {
e.printStackTrace();
return null;
}
}