HtmlUnit 禁用状态码错误异常

HtmlUnit disable status code error exception

在 HtmlUnit 中,当请求的页面 returns 失败状态代码(如 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);