因此,我试图对服务器端生成的javascript资源进行解析,以进行SEO优化。我遵循在基于java的服务器上使用HTMLUnit的示例,该服务器由谷歌提供这里。
我们目前使用应用程序引擎托管,但我在调用时发现
final WebClient webClient = new WebClient();我总是收到这个例外,任何人都有任何想法:
java.lang.ArrayStoreException: com.gargoylesoftware.htmlunit.httpclient.HtmlUnitDomainHandler
at com.gargoylesoftware.htmlunit.httpclient.HtmlUnitBrowserCompatCookieSpec.<init>(HtmlUnitBrowserCompatCookieSpec.java:101)
at com.gargoylesoftware.htmlunit.CookieManager.<init>(CookieManager.java:56)
at com.gargoylesoftware.htmlunit.WebClient.<init>(WebClient.java:141)
at com.gargoylesoftware.htmlunit.WebClient.<init>(WebClient.java:202)
at filters.CrawlServlet.doFilter(CrawlServlet.java:38)发布于 2015-05-05 11:25:05
我用HtmlUnit 2.16和AppEngine进行了测试,并使用了这里。
使用示例项目,将2.16 jars复制到war/WEB/lib,并拥有:
@SuppressWarnings("serial")
public class GuestbookServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
try (WebClient webClient = new WebClient()) {
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
resp.getWriter().println(page.getTitleText());
}
}
}发布于 2015-05-12 07:51:56
这应该是一个httpclient版本依赖问题,对于HTMLUnit 2.16,您应该使用httpclient 4.4.1
https://stackoverflow.com/questions/30034904
复制相似问题