Вызов веб-сервиса / сайта с Java - PullRequest
1 голос
/ 01 декабря 2009

Написание некоторых дополнительных классов для существующего проекта GWT. Мне нужно:

  • Запросить URL
  • Прочтите на возвращенной веб-странице, чтобы выполнить операции над ней.

Возвращенная страница в очень простом HTML, поэтому ее анализ не должен быть очень сложным, мне просто нужно сначала получить данные.

Как мне это сделать на Java? На какие пакеты мне лучше всего смотреть?

Ответы [ 4 ]

7 голосов
/ 01 декабря 2009

С нативным API Java вы можете читать с URL, используя java.net.URLConnection . Вот базовый пример:

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 на ваш вкус. Средний парсер может принимать (in) непосредственно InputStream в качестве аргумента. JTidy - один из лучших анализаторов HTML.

Для удобства, вот сокращение, чтобы получить InputStream из URL напрямую:

InputStream result = new URL("http://www.stackoverflow.com").openStream();
1 голос
/ 01 декабря 2009

Для HTML-страниц вы должны использовать HttpClient .

Для веб-сервисов вам нужна платформа типа CXF .

0 голосов
/ 03 декабря 2009

Если вы хотите сделать что-то подобное на клиенте, взгляните на типы HTTP GWT . Но имейте в виду, что на вас распространяется политика того же происхождения тогда.

0 голосов
/ 01 декабря 2009

HttpClient, хотя и очень хороший, считается устаревшим. HttpComponents является альтернативой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...