0

ページ「 http://www.ean-search.org/sitemap.html 」を取得して解析しようとしていますが、常に 404 エラーと空のページが表示されます。すべてのテキスト コンテンツ エリアが空白です。

.setThrowExceptionOnFailingStatusCode(false)、setThrowExceptionOnScriptError(true)、setRedirectEnabled(false)、setJavaScriptEnabled(true)、setThrowExceptionOnScriptError(false) など、HtmlUnit Web クライアントの多くのオプション構成を試しました。それらのどれも機能しませんでした...

誰にも何か提案はありますか?ありがとう。

ps: 私の webclient コード:

myWebClient = new WebClient(BrowserVersion.FIREFOX_3_6); 
myWebClient.setIncorrectnessListener(new CustomizedInconnectnessListener());
myWebClient.setTimeout(180000); //3 min, used twice, first for connection, second for retrieval
try {
    myWebClient.setUseInsecureSSL(true);
} catch (GeneralSecurityException ex) {
    logger.log(Level.SEVERE, "cannot set UseInsecureSSL for BNP webclient",ex);
            //ignore it, continue
}

myWebClient.setRedirectEnabled(true); 
myWebClient.setCssEnabled(false); 
myWebClient.setJavaScriptTimeout(30000); //timeout for executing java script
myWebClient.setThrowExceptionOnScriptError(false);

HtmlPage htmlpage = (HtmlPage) myWebClient.getHtmlPage("http://www.ean-search.org/sitemap.html");
myWebClient.waitForBackgroundJavaScriptStartingBefore(3000);
Thread.sleep(3000);
System.out.println(htmlpage.asXml());
4

1 に答える 1

0

ええと、あなたが使用しているコードは本当に悪いようです。多くのエラーと警告が表示されました...コンパイルすることさえできません。たとえばmyWebClient.getHtmlPage、 である必要がありますmyWebClient.getPage

このコードは私のために機能し、ページのコンテンツを出力します:

WebClient myWebClient = new WebClient(BrowserVersion.FIREFOX_17);
HtmlPage page = myWebClient.getPage("http://www.ean-search.org/sitemap.html");
System.out.println(page.asXml());

最新の HtmlUnit ライブラリを使用していることを確認し、何かが非推奨であると通知された場合は、コンパイラにも注意を払ってください。これらのメソッドとフィールドを使用することはお勧めできません。

于 2013-08-08T19:10:09.003 に答える