我想访问HTML网页throught的Java编程语言形式之间没有涉及真正的浏览器。

目前我通过 HTML部门但它需要更多的时间来加载页面做。当谈到访问数以百万计的页面,那么这个额外位时最重要的。

有没有这样做呢?

任何其他方法
有帮助吗?

解决方案

我已经用类似的东西称为 httpunit的之前,但我不知道如何明智性能比较

如果你有百万的页面来处理,我会推荐它抛出一些更多的线程。只是一个猜测,但我认为,如果你扩展这个长达多个线程,你会耗尽带宽,你用完了CPU供电的之前(在这种情况下,它不会不管如何更快它可能是)

其他提示

访问网页使用浏览器,甚至的HtmlUnit,将是缓慢的。更好的方法是先测试该层正下方的Web界面,这样你就不需要访问数百万页面 - 而不是你足够的测试,以确保Web界面正确使用下层

大多数浏览器相互作用的归结为一个HTTP GET或HTTP POST。 你需要准确地计算出你所需要的操作,然后你就可以构造URL和/或表单数据。 然后你可以使用这样的事情:

   try { 
    //Construct data 
    String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8"); data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8"); 
    // Send data 
    URL url = new URL("http://hostname:80/cgi"); 
    URLConnection conn = url.openConnection(); conn.setDoOutput(true); 
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
    wr.write(data); 
    wr.flush(); 

    // Get the response 
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
    String line; while ((line = rd.readLine()) != null) { 

    // Process line... } 
    wr.close(); 
    rd.close(); 
    } catch (Exception e) { } 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top