1

htmlunit1 つの画像を含むサーブレット ページにアクセスしようとしています。
画像を保存するか、サーブレット ページを html ページに保存する必要があります。

今使っている

(UnexpectedPage) webClient.getPage(new URL("https://www.xxxx.com/servlet/xxxSer")
WebResponse response = currentPage.getWebResponse();
response.getContentType();

その後、私は何をすべきかわかりません。この仕事をするアイデアはありますか。

前もって感謝します。

4

3 に答える 3

4

のテキスト コンテンツを取得する必要があります(オブジェクトWebResponseも必要ありません)。URL

Page page = webClient.getPage("https://www.xxxx.com/servlet/xxxSer");
String content = page.getWebResponse().getContentAsString();

画像に関しては、どのように取得しているかをより明確にする必要があります。IMGタグで参照されている画像の場合は、HtmlPageとを使用しHtmlImageます。画像を直接リクエストする場合は、おそらく使用する必要がありますpage.getWebResponse().getContentAsStream()

于 2013-01-03T12:37:46.453 に答える
2

このコードを試してください

HtmlPage htmlpage = webClient.getPage(new URL("https://www.xxxx.com/servlet/xxxSer"));
String htmlcode = htmlpage.getWebResponse().getContentAsString();

一番

于 2013-01-02T10:56:13.920 に答える
0

問題は、HTML ユニットが不完全な HTML ページをキャストできないことです (たとえば、いくつかの閉じていないタグ)。したがって、HTMLUnitのパッケージに含まれているHTMLParserを使用してこのエラーを解決できました(私は2.36.0vを使用しています)。HTMLParser は、この種のキャスト エラーを完了して処理します。JS を実行する必要がある場合は、HtmlPage が機能します。

//Web client creation.
Page page = webClient.getPage(url);
HtmlPage tmpPage = HTMLParser.parseHtml(page.getWebResponse(), webClient.getCurrentWindow());
// use tmpPage here
于 2019-10-09T19:15:25.930 に答える