2017-04-02 42 views
1

在HtmlUnit中,如何在请求的页面返回失败状态代码(如4xx)时禁用抛出异常?我需要得到状态码,所以如果它抛出一个异常,我不能得到状态码。HtmlUnit禁用状态代码错误例外

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

回答

2

新的API现在有WebClientOptions

你应该使用:

webClient.getOptions().setThrowExceptionOnFailingStatusCode(false); 
相关问题