2

次のコードがあります。

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 ページを取得する方法はありますか? ページは実際のブラウザで正しく読み込まれます。

4

1 に答える 1

8

はい、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であり、これにより、説明しているエラーが発生します。

編集:2.11より前のバージョンのHtmlUnitを含む古いバージョンを実行している場合に備えて、setThrowExceptionOnFailingStatusCodeによって返されるオプションの代わりにWebClient自体で呼び出すことができますgetOptions()。2.11以降ではgetOptions()、上記のように使用する必要があります。

于 2013-02-09T08:39:57.283 に答える