在 HtmlUnit 中,当请求的页面返回失败状态代码(如 4xx)时,如何禁用抛出异常?我需要获取状态码,所以如果抛出异常,我无法获取状态码。
Page page = null;
try {
page = webClient.getPage(requestSettings);
System.out.println(page.getWebResponse().getStatusCode()); // it doesn't go to this line because exception is already thrown
} catch (Exception e) {
System.out.println(page.getWebResponse().getStatusCode()); // it will fail because of NullPointerException
System.out.println(e);
}
以下方法似乎仅适用于旧版本的 HtmlUnit。我使用的是 v2.25,该方法不存在。
webClient.setThrowExceptionOnFailingStatusCode(false);
最佳答案
新 API 现在具有 WebClientOptions
,
你应该使用:
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
关于java - HtmlUnit禁用状态码错误异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166537/