java - HtmlUnit禁用状态码错误异常

标签 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);

最佳答案

新 API 现在具有 WebClientOptions

你应该使用:

webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);

关于java - HtmlUnit禁用状态码错误异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166537/

相关文章:

java - HtmlUnit:以特定语言从服务器请求网站

java - 让HtmlUnit在Android下运行

java - 如何在 API 26 中添加音乐播放器通知

java - OpenGL ES 2.0 中的模板纹理

java - Quartz Scheduler Job 运行一次,然后报错

java - 在 Spring Framework 中使用 SPeL 读取系统属性

java - 无法使用 HtmlUnit 2.35.0 登录网站

java - HtmlUnit获取页面源码实现显示Exception

java - 如何在 Android 中执行网页抓取?

java - log4j:MySQL 的 JDBCAppender 错误