java - HTMLUnit 和 AppEngine

标签 java google-app-engine seo htmlunit

所以我正在尝试在服务器端解析 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/

相关文章:

java - 在 Java 中直接比较 2 float/double 是否安全?

java - 双倍我的钱 : my framework uses doubles for monetary amounts

python - 如何在 Windows 上正确运行 Google App Engine Web 服务器?

google-app-engine - JDO 在 GAE 上查询 <missing> 和 <null> 值

java - App Engine 中的 UserService、OAuth 和 AJAX

seo - 如何为谷歌索引中的所有链接下载 CSV 文件?

.htaccess - 是否有一个 Nginx 环境变量相当于 Apaches 的 {ENV :REDIRECT_STATUS}?

java - 优先级会影响同一台计算机上的其他程序吗?

java - Java中如何将字节转换为相同的字符串

javascript - 使网站小部件符合 SEO 标准 - 有可能吗?