URLConnection: чтение из URL-адреса

java.net.URLConnection  — это класс, который связывает приложение с URL-адресом. Чтобы получить HTTP-ответ, сначала нужно создать соединение с двухэтапным url:
  • openConnection: этот метод создает объект connection который настраивает параметры подключения и получает параметры.
  • URLConnection.connect: Создает взаимодействие с ресурсом, инициируя связь между программой Java и url.
Следующий код создает подключение к сайту http:// www.codeurjava.com.

URL url=null; 
try {
url = new URL("http://www.codeurjava.com");
} catch (MalformedURLException e) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
}
try {
URLConnection con = url.openConnection();
in.close();
} catch (IOException e1) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
}
Объект URLConnection создается каждый раз, когда соединение устанавливается с помощью openConnection(). Теперь, когда соединение успешно установлено, вы можете использовать URLConnection для чтения и записи в url с помощью InputStream и outputStream.

Read from URLConnection

Эта программа извлекает объект inputStream, соединение открывается с помощью метода getInputStream(), затем он создает BufferedReader в этом InputStream и считывает содержимое. строка за строкой с параметром readline(), что нам нужно загрузить его в переменную типа String.

import java.io.BufferedReader; 
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class URLConnectionExample:{

public static void main(String[] args) {
String host = "http://www.codeurjava.com/";
URL aURL = null;
Строковый кодHTML = "";
try {
aURL = new URL(host);
//открываем connection
URLConnection con = aURL.openConnection();
//максимальное время, отведенное на подключение
con.setConnectTimeout(60000);
//максимальное время, отведенное на чтение
con.setReadTimeout(60000);
//читаемый поток с кодировкой символов UTF-8
BufferedReader in = new BufferedReader(
new InputStreamReader(
con.getInputStream(),"UTF-8"));
Строка ввода;
while((inputline = in.readLine())!=null){
//concatenation+newline с \n
HTML-кодом += inputline+"\n";
}
//поток воспроизведения должен быть закрыт
in.close();
} catch (IOException e1) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
}
System.out.println(codeHTML);
}
}
Result

 

< голова>
< Заголовок> Учебные пособия и примеры по разработке на JAVA
.
.
.



Этот код извлекает HTML-код в Java. Если программа отображает сообщение об ошибке, значит, программа не смогла найти сервер или url недоступен. В нашей программе мы запрограммировали максимальное время, отведенное на подключение и воспроизведение, равным 6 секундам. По истечении этого времени программа останавливается.

References
Oracle: Class URL: openConnection
upenn: Class java.net.URLConnection
StackOverFlow:  Использование java.net.URLConnection для запуска и обработки HTTP-запросов?