РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1147 of 1163 menu

Метод openConnection

Метод openConnection класса URL открывает соединение с удаленным ресурсом и возвращает объект URLConnection. Сам по себе метод не устанавливает фактическое сетевое соединение - он лишь создает объект, через который в дальнейшем можно настроить параметры запроса и получить поток для чтения данных. Если параметр не указан, соединение создается напрямую. Первым параметром можно передать объект Proxy, который задает прокси-сервер для соединения.

Синтаксис

url.openConnection() url.openConnection(proxy)

Пример

Давайте создадим объект URL и откроем соединение, после чего выведем тип соединения и адрес ресурса:

import java.net.URL; import java.net.URLConnection; public class Main { public static void main(String[] args) throws Exception { URL url = new URL("https://code.mu"); URLConnection connection = url.openConnection(); System.out.println(connection.getClass().getSimpleName()); System.out.println(connection.getURL()); } }

Результат выполнения кода:

"sun.net.www.protocol.https.HttpsURLConnectionImpl" "https://code.mu"

Пример

Давайте откроем соединение и прочитаем первую строку ответа от сервера через поток ввода:

import java.net.URL; import java.net.URLConnection; import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { URL url = new URL("https://code.mu"); URLConnection connection = url.openConnection(); BufferedReader reader = new BufferedReader( new InputStreamReader(connection.getInputStream()) ); String line = reader.readLine(); System.out.println(line); reader.close(); } }

Результат выполнения кода:

"<!DOCTYPE html>"

Пример

Давайте настроим соединение перед чтением: установим таймаут и запретим кеширование:

import java.net.URL; import java.net.URLConnection; public class Main { public static void main(String[] args) throws Exception { URL url = new URL("https://code.mu"); URLConnection connection = url.openConnection(); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); connection.setUseCaches(false); System.out.println(connection.getConnectTimeout()); System.out.println(connection.getReadTimeout()); System.out.println(connection.getUseCaches()); } }

Результат выполнения кода:

5000 5000 false

Смотрите также

  • класс URL,
    который представляет адрес ресурса
  • метод openStream,
    который открывает поток для чтения
  • метод getProtocol,
    который возвращает протокол URL
  • метод toURI,
    который преобразует URL в URI
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить