所以我正在尝试在服务器端解析 javascript 生成的资源以进行 SEO 优化。我正在按照在 google 提供的基于 java 的服务器上使用 HTMLUnit 的示例 here .
我们目前使用应用引擎托管,但我在调用时发现
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)
最佳答案
我用 HtmlUnit 2.16 和 AppEngine 进行了测试,它可以工作 here .
使用示例项目,将 2.16 jar 复制到 war/WEB-INF/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());
}
}
}
关于java - HTMLUnit 和 AppEngine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30034904/