1

我正在尝试访问htmlunit包含一个图像的 servlet 页面。
我需要保存图像或需要将 servlet 页面保存到 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标签中引用的图像,则使用 anHtmlPage和 an 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 回答