2009-12-01 130 views
1

为现有的GWT项目编写一些额外的类。我需要:从Java调用Web服务/网站

  • 请求的URL
  • 阅读网页中返回,以执行操作。

返回的页面是非常简单的HTML,因此解析它不应该很困难,我只需要首先获取数据。

如何在Java中执行此操作?我最看好哪些软件包?

+0

你是否需要在客户端或服务器端发生这种情况? – Bozho 2009-12-01 11:04:50

回答

6

使用本机Java API,您可以使用java.net.URLConnection从URL读取。这里有一个简单的例子:

URL url = new URL("http://www.stackoverflow.com"); 
URLConnection urlConnection = url.openConnection(); 
InputStream result = urlConnection.getInputStream(); 

BufferedReader reader = new BufferedReader(new InputStreamReader(result)); 
String line = null; 
while ((line = reader.readLine()) != null) { 
    System.out.println(line); 
} 
reader.close(); 

你可以喂InputStream你的口味的任何DOM/SAX解析器。平均分析程序可以直接使用(作为参数)InputStreamJTidy是更好的HTML解析器之一。

为了方便起见,这里是一个速记直接从URL得到InputStream

InputStream result = new URL("http://www.stackoverflow.com").openStream(); 
0

HttpClient虽然非常好,但被认为是过时的。 HttpComponents是一种替代方案。