从Java调用Web服务/网站

Fed*_*rer 1 java gwt web-services

为现有的GWT项目编写一些额外的类.我需要:

  • 请求URL
  • 读入返回的网页,以便执行操作.

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

我如何用Java做到这一点?我最好看哪些套餐?

Bal*_*usC 8

使用本机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();
Run Code Online (Sandbox Code Playgroud)

您可以InputStream根据自己的喜好提供任何DOM/SAX解析器.平均解析器可以直接将(in)InputStream作为参数.JTidy是更好的HTML解析器之一.

为方便起见,这里是InputStream直接从URL 获取的简写:

InputStream result = new URL("http://www.stackoverflow.com").openStream();
Run Code Online (Sandbox Code Playgroud)