Подтвердить что ты не робот

Как получить HTML в Java

Без использования какой-либо внешней библиотеки, какой самый простой способ получить HTML-контент веб-сайта в строку?

4b9b3361

Ответ 1

В настоящее время я использую это:

String content = null;
URLConnection connection = null;
try {
  connection =  new URL("http://www.google.com").openConnection();
  Scanner scanner = new Scanner(connection.getInputStream());
  scanner.useDelimiter("\\Z");
  content = scanner.next();
}catch ( Exception ex ) {
    ex.printStackTrace();
}
System.out.println(content);

Но не уверен, есть ли лучший способ.

Ответ 2

Это сработало хорошо для меня:

URL url = new URL(theURL);
InputStream is = url.openStream();
int ptr = 0;
StringBuffer buffer = new StringBuffer();
while ((ptr = is.read()) != -1) {
    buffer.append((char)ptr);
}

Не уверен, что другое решение предоставлено более эффективно или нет.

Ответ 3

Я только что оставил этот пост в вашем другом потоке, хотя то, что вы выше, может работать. Я не думаю, что это было бы легче, чем другое. Доступ к пакетам Apache можно получить, просто используя import org.apache.commons.HttpClient в верхней части вашего кода.

Изменить: Забыл ссылку;)

Ответ 4

Пока не ваниль-Java, я предлагаю более простое решение. Используйте Groovy; -)

String siteContent = new URL("http://www.google.com").text