Без использования какой-либо внешней библиотеки, какой самый простой способ получить HTML-контент веб-сайта в строку?
Как получить HTML в Java
Ответ 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