【问题标题】:404 Not Found when using HtmlUnit使用 HtmlUnit 时找不到 404
【发布时间】:2013-01-25 00:41:52
【问题描述】:

我有以下代码:

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://www.myland.co.il/%D7%9E%D7%97%D7%A9%D7%91-%D7%94%D7%A9%D7%A7%D7%99%D7%94");

代码失败,com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 404 Not Found for http://www.myland.co.il/Scripts/swfobject_modified.js

我确实在控制台输出中看到了我感兴趣的 HTML 页面。有没有办法抑制异常并获得一个 Html 页面?该页面确实在真实浏览器中正确加载。

【问题讨论】:

    标签: htmlunit


    【解决方案1】:

    是的,您可以使用 setThrowExceptionOnFailingStatusCode 忽略失败的状态代码,例如;

    WebClient webClient = new WebClient();
    webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
    HtmlPage page = webClient.getPage("http://www.myland.co.il/%D7%9E%D7%97%D7%A9%D7%91-%D7%94%D7%A9%D7%A7%D7%99%D7%94");
    

    默认值通常为 true,这会给出您所描述的错误。

    编辑:如果您运行的是旧版本,并且 HtmlUnit 版本早于 2.11,则可以在 WebClient 本身上调用 setThrowExceptionOnFailingStatusCode 而不是 getOptions() 返回的选项。在 2.11 或更高版本中,您应该像上面一样使用getOptions()

    【讨论】:

      猜你喜欢
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 2013-10-07
      • 2016-07-13
      • 2016-10-24
      相关资源
      最近更新 更多