Как получить URL-адрес с веб-сайта, используя Java? - PullRequest
16 голосов
/ 11 декабря 2008

Я хочу использовать команды HTTP GET и POST для получения URL-адресов с веб-сайта и анализа HTML. Как мне это сделать?

Ответы [ 5 ]

20 голосов
/ 11 декабря 2008

Вы можете использовать HttpURLConnection в сочетании с URL .

URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();

InputStream stream = connection.getInputStream();
// read the contents using an InputStreamReader
4 голосов
/ 12 декабря 2008

Отмеченный / одобренный ответ для этого от robhruska - спасибо. Это показывает самый простой способ сделать это, это просто с пониманием того, что необходимо для создания простого URL-соединения. Однако более долгосрочной стратегией будет использование HTTP-клиента для более сложных и многофункциональных способов выполнения этой задачи.

Спасибо всем, вот еще один быстрый ответ:

URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();

InputStream stream = connection.getInputStream();
// read the contents using an InputStreamReader
3 голосов
/ 11 декабря 2008

Самый простой способ сделать GET - это использовать встроенный java.net.URL. Однако, как уже упоминалось, httpclient - это правильный путь, поскольку он позволит вам, среди прочего, обрабатывать перенаправления.

Для анализа html вы можете использовать html parser .

0 голосов
/ 11 декабря 2008

Я использовал JTidy в проекте, и он работал довольно хорошо. Список других парсеров здесь , но кроме JTidy я не знаю ни одного из них.

0 голосов
/ 11 декабря 2008

Использование http://hc.apache.org/httpclient-3.x/

...