HtmlUnit禁用状态代码错误异常

时间:2017-04-02 09:02:03

标签: java htmlunit

在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);

1 个答案:

答案 0 :(得分:3)

新API现在有WebClientOptions

你应该使用:

webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);