Spec-Zone.ru › OpenJDK 25

Класс URLConnection

java.lang.Object
java.net.URLConnection
Прямые известные подклассы:
HttpURLConnection, JarURLConnection
public abstract class URLConnection extends Object
Абстрактный класс URLConnection является суперклассом всех классов, представляющих канал связи между приложением и URL. Экземпляры этого класса можно использовать как для чтения из ресурса, на который ссылается URL, так и для записи в него.

В общем случае создание подключения к URL — это многоэтапный процесс:

  1. Объект подключения создаётся вызовом метода openConnection для URL.
  2. Настраиваются параметры и общие свойства запроса.
  3. Устанавливается фактическое подключение к удалённому объекту с помощью метода connect.
  4. Удалённый объект становится доступен. Можно получить доступ к полям заголовка и содержимому удалённого объекта.

Параметры настройки изменяются с помощью следующих методов:

  • setAllowUserInteraction
  • setDoInput
  • setDoOutput
  • setIfModifiedSince
  • setUseCaches

а общие свойства запроса изменяются с помощью метода:

  • setRequestProperty

Значения по умолчанию для параметров AllowUserInteraction и UseCaches можно задать с помощью методов setDefaultAllowUserInteraction и setDefaultUseCaches.

Каждому из перечисленных выше методов set соответствует метод get, позволяющий получить значение параметра или общего свойства запроса. Применимые параметры и общие свойства запроса зависят от протокола.

После установления подключения к удалённому объекту для доступа к полям заголовка и содержимому используются следующие методы:

  • getContent
  • getHeaderField
  • getInputStream
  • getOutputStream

К некоторым полям заголовка обращаются часто. Методы:

  • getContentEncoding
  • getContentLength
  • getContentType
  • getDate
  • getExpiration
  • getLastModified

обеспечивают удобный доступ к этим полям. Метод getContentType используется методом getContent для определения типа удалённого объекта; подклассам может быть удобно переопределить метод getContentType.

В обычном случае всеми параметрами, задаваемыми до подключения, и общими свойствами запроса можно пренебречь: для них предусмотрены разумные значения по умолчанию. Для большинства клиентов этого интерфейса интерес представляют только два метода: getInputStream и getContent; в классе URL им соответствуют методы для удобства использования.

Дополнительные сведения о свойствах запроса и полях заголовка подключения http можно найти здесь:

http://www.ietf.org/rfc/rfc2616.txt
Вызов методов close() для InputStream или OutputStream объекта URLConnection после выполнения запроса может освободить сетевые ресурсы, связанные с этим экземпляром, если только конкретная спецификация протокола не предусматривает иное поведение.
Начиная с:
1.0
Внешние спецификации
  • RFC 2616: протокол передачи гипертекста — HTTP/1.1
См. также:
  • URL.openConnection()
  • connect()
  • getContent()
  • getContentEncoding()
  • getContentLength()
  • getContentType()
  • getDate()
  • getExpiration()
  • getHeaderField(int)
  • getHeaderField(java.lang.String)
  • getInputStream()
  • getLastModified()
  • getOutputStream()
  • setAllowUserInteraction(boolean)
  • setDefaultUseCaches(boolean)
  • setDoInput(boolean)
  • setDoOutput(boolean)
  • setIfModifiedSince(long)
  • setRequestProperty(java.lang.String, java.lang.String)
  • setUseCaches(boolean)

Краткое описание полей

Модификатор и тип Поле Описание
protected boolean allowUserInteraction
Если true, этот URL рассматривается в контексте, допускающем взаимодействие с пользователем, например отображение диалогового окна аутентификации.
protected boolean connected
Если false, этот объект подключения ещё не установил канал связи с указанным URL.
protected boolean doInput
Эта переменная задаётся методом setDoInput.
protected boolean doOutput
Эта переменная задаётся методом setDoOutput.
protected long ifModifiedSince
Некоторые протоколы позволяют не загружать объект, если с момента его последнего изменения прошло меньше определённого времени.
protected URL url
URL представляет удалённый объект во Всемирной паутине, к которому устанавливается это подключение.
protected boolean useCaches
Если true, протоколу разрешено использовать кэширование, когда это возможно.

Краткое описание конструкторов

URLConnection(URL url)
Модификатор Конструктор Описание
protected
Создаёт подключение URL для указанного URL.

Краткое описание методов

Модификатор и тип Метод Описание
void addRequestProperty(String key, String value)
Добавляет общее свойство запроса, заданное парой «ключ — значение».
abstract void connect()
Открывает канал связи с ресурсом, на который ссылается этот URL, если такое подключение ещё не установлено.
boolean getAllowUserInteraction()
Возвращает значение поля allowUserInteraction этого объекта.
int getConnectTimeout()
Возвращает заданное время ожидания подключения.
Object getContent()
Получает содержимое этого подключения URL.
Object getContent(Class<?>[] classes)
Получает содержимое этого подключения URL.
String getContentEncoding()
Возвращает значение поля заголовка content-encoding.
int getContentLength()
Возвращает значение поля заголовка content-length.
long getContentLengthLong()
Возвращает значение поля заголовка content-length в виде long.
String getContentType()
Возвращает значение поля заголовка content-type.
long getDate()
Возвращает значение поля заголовка date.
static boolean getDefaultAllowUserInteraction()
Возвращает значение поля allowUserInteraction по умолчанию.
static String getDefaultRequestProperty(String key)
Устарел.
После получения подходящего экземпляра URLConnection следует использовать специфичный для экземпляра метод getRequestProperty.
boolean getDefaultUseCaches()
Возвращает значение флага useCaches по умолчанию для URLConnection.
static boolean getDefaultUseCaches(String protocol)
Возвращает значение флага useCaches по умолчанию для указанного протокола.
boolean getDoInput()
Возвращает значение флага doInput этого URLConnection.
boolean getDoOutput()
Возвращает значение флага doOutput этого URLConnection.
long getExpiration()
Возвращает значение поля заголовка expires.
static FileNameMap getFileNameMap()
Загружает карту имён файлов (таблицу MIME-типов) из файла данных.
String getHeaderField(int n)
Возвращает значение поля заголовка с индексом nth.
String getHeaderField(String name)
Возвращает значение поля заголовка с указанным именем.
long getHeaderFieldDate(String name, long defaultValue)
Возвращает значение поля с указанным именем, разобранное как дата.
int getHeaderFieldInt(String name, int defaultValue)
Возвращает значение поля с указанным именем, разобранное как число.
String getHeaderFieldKey(int n)
Возвращает ключ поля заголовка с индексом nth.
long getHeaderFieldLong(String name, long defaultValue)
Возвращает значение поля с указанным именем, разобранное как число.
Map<String, List<String>> getHeaderFields()
Возвращает неизменяемую карту полей заголовка.
long getIfModifiedSince()
Возвращает значение поля ifModifiedSince этого объекта.
InputStream getInputStream()
Возвращает входной поток для чтения из этого открытого подключения.
long getLastModified()
Возвращает значение поля заголовка last-modified.
OutputStream getOutputStream()
Возвращает выходной поток для записи в это подключение.
Permission getPermission()
Устарел, будет удалён: этот элемент API планируется удалить в будущей версии.
Разрешения больше нельзя использовать для управления доступом к ресурсам, поскольку Security Manager больше не поддерживается.
int getReadTimeout()
Возвращает заданное время ожидания чтения. Возвращаемое значение 0 означает, что параметр отключён (то есть время ожидания не ограничено).
Map<String, List<String>> getRequestProperties()
Возвращает неизменяемую карту общих свойств запроса для этого подключения.
String getRequestProperty(String key)
Возвращает значение общего свойства запроса с указанным именем для этого подключения.
URL getURL()
Возвращает значение поля URL этого URLConnection.
boolean getUseCaches()
Возвращает значение поля useCaches этого URLConnection.
static String guessContentTypeFromName(String fname)
Пытается определить тип содержимого объекта на основе компонента URL, соответствующего «файлу».
static String guessContentTypeFromStream(InputStream is)
Пытается определить тип входного потока по символам в его начале.
void setAllowUserInteraction(boolean allowuserinteraction)
Задаёт значение поля allowUserInteraction этого URLConnection.
void setConnectTimeout(int timeout)
Задаёт время ожидания в миллисекундах, используемое при открытии канала связи с ресурсом, на который ссылается этот URLConnection.
static void setContentHandlerFactory(ContentHandlerFactory fac)
Задаёт ContentHandlerFactory приложения.
static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
Задаёт указанное значение по умолчанию для поля allowUserInteraction всех будущих объектов URLConnection.
static void setDefaultRequestProperty(String key, String value)
Устарел.
После получения подходящего экземпляра URLConnection следует использовать специфичный для экземпляра метод setRequestProperty.
void setDefaultUseCaches(boolean defaultusecaches)
Задаёт указанное значение по умолчанию для поля useCaches.
static void setDefaultUseCaches(String protocol, boolean defaultVal)
Задаёт указанное значение по умолчанию для поля useCaches в протоколе с указанным именем.
void setDoInput(boolean doinput)
Задаёт указанное значение поля doInput для этого URLConnection.
void setDoOutput(boolean dooutput)
Задаёт указанное значение поля doOutput для этого URLConnection.
static void setFileNameMap(FileNameMap map)
Задаёт FileNameMap.
void setIfModifiedSince(long ifmodifiedsince)
Задаёт указанное значение поля ifModifiedSince для этого URLConnection.
void setReadTimeout(int timeout)
Задаёт время ожидания чтения в миллисекундах.
void setRequestProperty(String key, String value)
Задаёт общее свойство запроса.
void setUseCaches(boolean usecaches)
Задаёт указанное значение поля useCaches для этого URLConnection.
String toString()
Возвращает String представление этого подключения URL.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

url

protected URL url
URL представляет удаленный объект во Всемирной паутке, с которым устанавливается это соединение.

Значение этого поля можно получить с помощью метода getURL.

Значение этой переменной по умолчанию совпадает со значением аргумента URL в конструкторе URLConnection.

См. также:
  • getURL()
  • url

doInput

protected boolean doInput
Эта переменная устанавливается методом setDoInput. Ее значение возвращается методом getDoInput.

Соединение URL можно использовать для ввода и/или вывода данных. Установка флага doInput в значение true означает, что приложение намерено считывать данные из соединения URL.

Значение этого поля по умолчанию — true.

См. также:
  • getDoInput()
  • setDoInput(boolean)

doOutput

protected boolean doOutput
Эта переменная устанавливается методом setDoOutput. Ее значение возвращается методом getDoOutput.

Соединение URL можно использовать для ввода и/или вывода данных. Установка флага doOutput в значение true означает, что приложение намерено записывать данные в соединение URL.

Значение этого поля по умолчанию — false.

См. также:
  • getDoOutput()
  • setDoOutput(boolean)

allowUserInteraction

protected boolean allowUserInteraction
Если true, этот URL рассматривается в контексте, в котором допустимо взаимодействие с пользователем, например отображение диалогового окна аутентификации. Если false, взаимодействие с пользователем не допускается.

Значение этого поля можно задать методом setAllowUserInteraction. Его значение возвращается методом getAllowUserInteraction. Значение по умолчанию совпадает со значением аргумента при последнем вызове метода setDefaultAllowUserInteraction.

См. также:
  • getAllowUserInteraction()
  • setAllowUserInteraction(boolean)
  • setDefaultAllowUserInteraction(boolean)

useCaches

protected boolean useCaches
Если true, протоколу разрешено использовать кэш при любой возможности. Если false, протокол должен всегда пытаться получить актуальную копию объекта.

Это поле устанавливается методом setUseCaches. Его значение возвращается методом getUseCaches.

Значение по умолчанию совпадает со значением, заданным при последнем вызове метода setDefaultUseCaches.

Настройку по умолчанию можно переопределить для каждого протокола с помощью setDefaultUseCaches(String,boolean).

См. также:
  • setUseCaches(boolean)
  • getUseCaches()
  • setDefaultUseCaches(boolean)

ifModifiedSince

protected long ifModifiedSince
Некоторые протоколы поддерживают пропуск загрузки объекта, если он не изменялся после определенного момента времени.

Ненулевое значение задает время в миллисекундах, прошедшее с 1 января 1970 года по Гринвичу. Объект загружается, только если он был изменен после этого момента.

Эта переменная устанавливается методом setIfModifiedSince. Ее значение возвращается методом getIfModifiedSince.

Значение этого поля по умолчанию — 0, что означает, что загрузка должна выполняться всегда.

См. также:
  • getIfModifiedSince()
  • setIfModifiedSince(long)

connected

protected boolean connected
Если false, этот объект соединения еще не установил канал связи с указанным URL. Если true, канал связи установлен.

Подробное описание конструкторов

URLConnection

protected URLConnection(URL url)
Создает соединение URL с указанным URL. Соединение с объектом, на который ссылается URL, не устанавливается.
Параметры:
url — указанный URL.

Подробное описание методов

getFileNameMap

public static FileNameMap getFileNameMap()
Загружает сопоставление имен файлов (таблицу MIME-типов) из файла данных. Сначала выполняется попытка загрузить пользовательскую таблицу, заданную свойством "content.types.user.table". Если это не удается, выполняется попытка загрузить встроенную таблицу по умолчанию.
Возвращает:
FileNameMap
Начиная с версии:
1.2
См. также:
  • setFileNameMap(java.net.FileNameMap)

setFileNameMap

public static void setFileNameMap(FileNameMap map)
Задает FileNameMap.
Параметры:
map — задаваемый FileNameMap
Начиная с версии:
1.2
См. также:
  • getFileNameMap()

connect

public abstract void connect() throws IOException
Открывает канал связи с ресурсом, на который ссылается этот URL, если такое соединение еще не установлено.

Если метод connect вызывается после открытия соединения (что определяется по значению true поля connected), вызов игнорируется.

Объекты URLConnection проходят два этапа: сначала они создаются, затем устанавливают соединение. После создания и до установления соединения можно задать различные параметры (например, doInput и UseCaches). После установления соединения попытка задать эти параметры приводит к ошибке. Операции, для которых требуется установленное соединение, например getContentLength, при необходимости выполняют установление соединения неявно.

Выбрасывает:
SocketTimeoutException — если время ожидания истекает до установления соединения
IOException — если при открытии соединения возникает ошибка ввода-вывода.
См. также:
  • connected
  • getConnectTimeout()
  • setConnectTimeout(int)

setConnectTimeout

public void setConnectTimeout(int timeout)
Задает время ожидания в миллисекундах, используемое при открытии канала связи с ресурсом, на который ссылается этот URLConnection. Если время ожидания истекает до установления соединения, выбрасывается java.net.SocketTimeoutException. Нулевое время ожидания трактуется как бесконечное.

Некоторые нестандартные реализации этого метода могут игнорировать заданное время ожидания. Чтобы узнать установленное время ожидания соединения, вызовите getConnectTimeout().

Параметры:
timeout — int, задающий время ожидания соединения в миллисекундах
Выбрасывает:
IllegalArgumentException — если параметр времени ожидания отрицателен
Начиная с версии:
1.5
См. также:
  • getConnectTimeout()
  • connect()

getConnectTimeout

public int getConnectTimeout()
Возвращает установленное время ожидания соединения.

Возвращаемое значение 0 означает, что параметр отключен (то есть время ожидания бесконечно).

Возвращает:
int, задающее время ожидания соединения в миллисекундах
Начиная с версии:
1.5
См. также:
  • setConnectTimeout(int)
  • connect()

setReadTimeout

public void setReadTimeout(int timeout)
Задает время ожидания чтения в миллисекундах. Ненулевое значение задает время ожидания при чтении из входного потока после установления соединения с ресурсом. Если время ожидания истекает до появления данных для чтения, выбрасывается java.net.SocketTimeoutException. Нулевое время ожидания трактуется как бесконечное.

Некоторые нестандартные реализации этого метода игнорируют заданное время ожидания. Чтобы узнать установленное время ожидания чтения, вызовите getReadTimeout().

Параметры:
timeout — int, задающий время ожидания в миллисекундах
Выбрасывает:
IllegalArgumentException — если параметр времени ожидания отрицателен
Начиная с версии:
1.5
См. также:
  • getReadTimeout()
  • InputStream.read()

getReadTimeout

public int getReadTimeout()
Возвращает установленное время ожидания чтения. Возвращаемое значение 0 означает, что параметр отключен (то есть время ожидания бесконечно).
Возвращает:
int, задающее время ожидания чтения в миллисекундах
Начиная с версии:
1.5
См. также:
  • setReadTimeout(int)
  • InputStream.read()

getURL

public URL getURL()
Возвращает значение поля URL этого URLConnection.
Возвращает:
значение поля URL этого URLConnection.
См. также:
  • url

getContentLength

public int getContentLength()
Возвращает значение поля заголовка content-length.

Примечание: предпочтительно использовать getContentLengthLong(), поскольку этот метод возвращает long и поэтому является более переносимым.

Возвращает:
длину содержимого ресурса, на который ссылается URL этого соединения, -1, если длина содержимого неизвестна или превышает Integer.MAX_VALUE.

getContentLengthLong

public long getContentLengthLong()
Возвращает значение поля заголовка content-length в виде long.
Возвращает:
длину содержимого ресурса, на который ссылается URL этого соединения, или -1, если длина содержимого неизвестна.
Начиная с версии:
1.7

getContentType

public String getContentType()
Возвращает значение поля заголовка content-type.
Возвращает:
тип содержимого ресурса, на который ссылается URL, или null, если он неизвестен.
См. также:
  • getHeaderField(java.lang.String)

getContentEncoding

public String getContentEncoding()
Возвращает значение поля заголовка content-encoding.
Возвращает:
кодировку содержимого ресурса, на который ссылается URL, или null, если она неизвестна.
См. также:
  • getHeaderField(java.lang.String)

getExpiration

public long getExpiration()
Возвращает значение поля заголовка expires.
Возвращает:
дату истечения срока действия ресурса, на который ссылается этот URL, или 0, если она неизвестна. Значение представляет собой количество миллисекунд, прошедших с 1 января 1970 года по Гринвичу.
См. также:
  • getHeaderField(java.lang.String)

getDate

public long getDate()
Возвращает значение поля заголовка date.
Возвращает:
дату отправки ресурса, на который ссылается URL, или 0, если она неизвестна. Возвращаемое значение представляет собой количество миллисекунд, прошедших с 1 января 1970 года по Гринвичу.
См. также:
  • getHeaderField(java.lang.String)

getLastModified

public long getLastModified()
Возвращает значение поля заголовка last-modified. Результат представляет собой количество миллисекунд, прошедших с 1 января 1970 года по Гринвичу.
Возвращает:
дату последнего изменения ресурса, на который ссылается этот URLConnection, или 0, если она неизвестна.
См. также:
  • getHeaderField(java.lang.String)

getHeaderField

public String getHeaderField(String name)
Возвращает значение указанного поля заголовка.

Если соединение задает один и тот же заголовок несколько раз с возможными различными значениями, возвращается только последнее значение.

Параметры:
name — имя поля заголовка.
Возвращает:
значение указанного поля заголовка или null, если такого поля в заголовке нет.

getHeaderFields

public Map<String, List<String>> getHeaderFields()
Возвращает неизменяемую Map полей заголовка. Ключи Map — это строки с именами полей заголовка ответа. Каждое значение Map — это неизменяемый List строк, представляющий соответствующие значения поля. Этот метод переопределяется подклассами URLConnection. В реализации этих методов, если данному ключу соответствуют несколько значений, они должны возвращаться в порядке добавления с сохранением порядка вставки.
Требования к реализации:
Реализация этого метода по умолчанию всегда возвращает пустую map.
Возвращает:
Map полей заголовка
Начиная с версии:
1.4

getHeaderFieldInt

public int getHeaderFieldInt(String name, int defaultValue)
Возвращает значение указанного поля, преобразованное в число.

Эта форма getHeaderField существует потому, что некоторые типы соединений (например, http-ng) предварительно разбирают заголовки. Классы для таких типов соединений могут переопределить этот метод и пропустить разбор.

Параметры:
name — имя поля заголовка.
defaultValue — значение по умолчанию.
Возвращает:
значение указанного поля, преобразованное в целое число. Возвращается значение defaultValue, если поле отсутствует или имеет некорректный формат.

getHeaderFieldLong

public long getHeaderFieldLong(String name, long defaultValue)
Возвращает значение указанного поля, преобразованное в число.

Эта форма getHeaderField существует потому, что некоторые типы соединений (например, http-ng) предварительно разбирают заголовки. Классы для таких типов соединений могут переопределить этот метод и пропустить разбор.

Параметры:
name — имя поля заголовка.
defaultValue — значение по умолчанию.
Возвращает:
значение указанного поля, преобразованное в long. Возвращается значение defaultValue, если поле отсутствует или имеет некорректный формат.
Начиная с версии:
1.7

getHeaderFieldDate

public long getHeaderFieldDate(String name, long defaultValue)
Возвращает значение указанного поля, преобразованное в дату. Результат представляет собой количество миллисекунд с 1 января 1970 года по Гринвичу, заданное указанным полем.

Эта форма getHeaderField существует потому, что некоторые типы соединений (например, http-ng) предварительно разбирают заголовки. Классы для таких типов соединений могут переопределить этот метод и пропустить разбор.

Параметры:
name — имя поля заголовка.
defaultValue — значение по умолчанию.
Возвращает:
значение поля, преобразованное в дату. Возвращается значение аргумента defaultValue, если поле отсутствует или имеет некорректный формат.

getHeaderFieldKey

public String getHeaderFieldKey(int n)
Возвращает ключ n-го поля заголовка. В некоторых реализациях 0 поле заголовка может считаться особым; в таком случае метод getHeaderField(0) может вернуть некоторое значение, а getHeaderFieldKey(0) возвращает null. Для n > 0 он возвращает null, если полей меньше n+1.
Параметры:
n — индекс, для которого n>=0
Возвращает:
ключ n-го поля заголовка или null, если полей меньше n+1 при n > 0.

getHeaderField

public String getHeaderField(int n)
Возвращает значение n-го поля заголовка. Возвращается null, если полей меньше n+1.

Этот метод можно использовать вместе с методом getHeaderFieldKey для перебора всех заголовков в сообщении.

Параметры:
n — индекс, для которого n>=0
Возвращает:
значение n-го поля заголовка или null, если полей меньше n+1
См. также:
  • getHeaderFieldKey(int)

getContent

public Object getContent() throws IOException
Получает содержимое этого соединения URL.

Этот метод сначала определяет тип содержимого объекта, вызывая метод getContentType. Если приложение встречает этот тип содержимого впервые, для него создается обработчик содержимого.

Это выполняется следующим образом:

  1. Если приложение настроило экземпляр фабрики обработчиков содержимого с помощью метода setContentHandlerFactory, вызывается метод createContentHandler этого экземпляра, которому передается тип содержимого; результатом будет обработчик этого типа содержимого.
  2. Если фабрика ContentHandlerFactory еще не была настроена или метод createContentHandler фабрики возвращает null, для поиска реализаций ContentHandlerFactory с помощью системного загрузчика классов используется механизм ServiceLoader. Порядок поиска фабрик зависит от реализации; реализация может кэшировать найденные фабрики. Если при вызове createContentHandler возникает исключение ServiceConfigurationError, Error или RuntimeException, оно передается вызвавшему потоку. Для каждой созданной фабрики вызывается метод createContentHandler с типом содержимого, пока одна из фабрик не вернет значение, отличное от null, либо не будут проверены все фабрики.
  3. Если ни один из этих способов не сработал, метод пытается загрузить класс обработчика содержимого, определенный в ContentHandler. Если класс не существует или не является подклассом ContentHandler, выбрасывается UnknownServiceException.
Возвращает:
полученный объект. Для определения конкретного типа возвращенного объекта следует использовать оператор instanceof.
Выбрасывает:
IOException — если при получении содержимого возникает ошибка ввода-вывода.
UnknownServiceException — если протокол не поддерживает этот тип содержимого.
См. также:
  • ContentHandlerFactory.createContentHandler(java.lang.String)
  • getContentType()
  • setContentHandlerFactory(java.net.ContentHandlerFactory)

getContent

public Object getContent(Class<?>[] classes) throws IOException
Получает содержимое этого соединения URL.
Параметры:
classes — массив Class, указывающий запрошенные типы
Возвращает:
полученный объект, тип которого первым соответствует одному из классов, указанных в массиве. null, если ни один из запрошенных типов не поддерживается. Для определения конкретного типа возвращенного объекта следует использовать оператор instanceof.
Выбрасывает:
IOException — если при получении содержимого возникает ошибка ввода-вывода.
UnknownServiceException — если протокол не поддерживает этот тип содержимого.
Начиная с версии:
1.3
См. также:
  • getContent()
  • ContentHandlerFactory.createContentHandler(java.lang.String)
  • getContent(java.lang.Class[])
  • setContentHandlerFactory(java.net.ContentHandlerFactory)

getPermission

@Deprecated(since="25", forRemoval=true) public Permission getPermission() throws IOException
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Разрешения больше нельзя использовать для управления доступом к ресурсам, поскольку диспетчер безопасности больше не поддерживается.
Возвращает объект разрешения, представляющий разрешение, необходимое для установления соединения, представленного этим объектом. Этот метод возвращает null, если для установления соединения разрешение не требуется. По умолчанию этот метод возвращает java.security.AllPermission. Подклассам следует переопределить этот метод и возвращать разрешение, наиболее точно представляющее разрешение, необходимое для соединения с URL. Например, URLConnection, представляющий URL file:, вернет объект java.io.FilePermission.

Возвращаемое разрешение может зависеть от состояния соединения. Например, разрешение до установки соединения может отличаться от разрешения после нее. Так, HTTP-сервер foo.com может перенаправить соединение на другой узел, например bar.com. До установки соединения возвращаемое разрешение будет представлять разрешение, необходимое для соединения с foo.com, а после установки соединения — разрешение для bar.com.

Разрешения обычно используются для двух целей: защиты кэшей объектов, полученных через URLConnection, и проверки права получателя узнать о конкретном URL. В первом случае разрешение следует получать после получения объекта. Например, для HTTP-соединения оно будет представлять разрешение на соединение с узлом, с которого в итоге были получены данные. Во втором случае разрешение следует получить и проверить до установления соединения.

Возвращает:
объект разрешения, представляющий разрешение, необходимое для установления соединения, представленного этим URLConnection.
Выбрасывает:
IOException — если вычисление разрешения требует сетевого или файлового ввода-вывода и при вычислении возникает исключение.

getInputStream

public InputStream getInputStream() throws IOException
Возвращает входной поток для чтения из этого открытого соединения. При чтении из возвращенного входного потока может быть выброшено SocketTimeoutException, если время ожидания чтения истечет до появления данных.
Примечание API:
Возвращаемый этим методом InputStream может оборачивать InflaterInputStream, метод read(byte[], int, int) которого может изменять любой элемент выходного буфера.
Возвращает:
входной поток для чтения из этого открытого соединения.
Выбрасывает:
IOException — если при создании входного потока возникает ошибка ввода-вывода.
UnknownServiceException — если протокол не поддерживает ввод.
См. также:
  • setReadTimeout(int)
  • getReadTimeout()

getOutputStream

public OutputStream getOutputStream() throws IOException
Возвращает выходной поток для записи в это соединение.
Возвращает:
выходной поток для записи в это соединение.
Выбрасывает:
IOException — если при создании выходного потока возникает ошибка ввода-вывода.
UnknownServiceException — если протокол не поддерживает вывод.

toString

public String toString()
Возвращает String представление этого соединения URL.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого URLConnection.

setDoInput

public void setDoInput(boolean doinput)
Устанавливает значение поля doInput для этого URLConnection в указанное значение.

URL-подключение можно использовать для ввода и/или вывода данных. Установите флаг doInput в значение true, если планируете использовать URL-подключение для ввода данных, и в false в противном случае. Значение по умолчанию — true.

Параметры:
doinput — новое значение.
Исключения:
IllegalStateException — если подключение уже установлено
См. также:
  • doInput
  • getDoInput()

getDoInput

public boolean getDoInput()
Возвращает значение флага doInput этого URLConnection.
Возвращает:
значение флага doInput этого URLConnection.
См. также:
  • setDoInput(boolean)

setDoOutput

public void setDoOutput(boolean dooutput)
Устанавливает значение поля doOutput для этого URLConnection в указанное значение.

URL-подключение можно использовать для ввода и/или вывода данных. Установите флаг doOutput в значение true, если планируете использовать URL-подключение для вывода данных, и в false в противном случае. Значение по умолчанию — false.

Параметры:
dooutput — новое значение.
Исключения:
IllegalStateException — если подключение уже установлено
См. также:
  • getDoOutput()

getDoOutput

public boolean getDoOutput()
Возвращает значение флага doOutput этого URLConnection.
Возвращает:
значение флага doOutput этого URLConnection.
См. также:
  • setDoOutput(boolean)

setAllowUserInteraction

public void setAllowUserInteraction(boolean allowuserinteraction)
Устанавливает значение поля allowUserInteraction этого URLConnection.
Параметры:
allowuserinteraction — новое значение.
Исключения:
IllegalStateException — если подключение уже установлено
См. также:
  • getAllowUserInteraction()

getAllowUserInteraction

public boolean getAllowUserInteraction()
Возвращает значение поля allowUserInteraction этого объекта.
Возвращает:
значение поля allowUserInteraction этого объекта.
См. также:
  • setAllowUserInteraction(boolean)

setDefaultAllowUserInteraction

public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
Устанавливает значение поля allowUserInteraction по умолчанию для всех будущих объектов URLConnection в указанное значение.
Параметры:
defaultallowuserinteraction — новое значение.
См. также:
  • getDefaultAllowUserInteraction()

getDefaultAllowUserInteraction

public static boolean getDefaultAllowUserInteraction()
Возвращает значение поля allowUserInteraction по умолчанию.

Это значение по умолчанию является «липким» и входит в статическое состояние всех URLConnection. Этот флаг применяется к следующему и всем последующим создаваемым URLConnection.

Возвращает:
значение поля allowUserInteraction по умолчанию.
См. также:
  • setDefaultAllowUserInteraction(boolean)

setUseCaches

public void setUseCaches(boolean usecaches)
Устанавливает значение поля useCaches этого URLConnection в указанное значение.

Некоторые протоколы кэшируют документы. Иногда важно иметь возможность «обойти» кэш и игнорировать его (например, кнопка «Перезагрузить» в браузере). Если для подключения установлен флаг UseCaches со значением true, подключению разрешено использовать доступные кэши. Если значение равно false, кэши игнорируются. Значение по умолчанию берётся из defaultUseCaches, которое по умолчанию равно true. Значение по умолчанию также можно задать для каждого протокола с помощью setDefaultUseCaches(String,boolean).

Параметры:
usecaches — boolean, указывающий, разрешено ли кэширование
Исключения:
IllegalStateException — если подключение уже установлено
См. также:
  • getUseCaches()

getUseCaches

public boolean getUseCaches()
Возвращает значение поля useCaches этого URLConnection.
Возвращает:
значение поля useCaches этого URLConnection.
См. также:
  • setUseCaches(boolean)

setIfModifiedSince

public void setIfModifiedSince(long ifmodifiedsince)
Устанавливает значение поля ifModifiedSince этого URLConnection в указанное значение.
Параметры:
ifmodifiedsince — новое значение.
Исключения:
IllegalStateException — если подключение уже установлено
См. также:
  • getIfModifiedSince()

getIfModifiedSince

public long getIfModifiedSince()
Возвращает значение поля ifModifiedSince этого объекта.
Возвращает:
значение поля ifModifiedSince этого объекта.
См. также:
  • setIfModifiedSince(long)

getDefaultUseCaches

public boolean getDefaultUseCaches()
Возвращает значение флага useCaches для URLConnection по умолчанию.

Это значение по умолчанию является «липким» и входит в статическое состояние всех URLConnection. Этот флаг применяется к следующему и всем последующим создаваемым URLConnection. Это значение по умолчанию можно переопределить для каждого протокола с помощью setDefaultUseCaches(String,boolean)

Возвращает:
значение флага useCaches для URLConnection по умолчанию.
См. также:
  • setDefaultUseCaches(boolean)

setDefaultUseCaches

public void setDefaultUseCaches(boolean defaultusecaches)
Устанавливает значение поля useCaches по умолчанию в указанное значение. Это значение по умолчанию можно переопределить для каждого протокола с помощью setDefaultUseCaches(String,boolean)
Параметры:
defaultusecaches — новое значение.
См. также:
  • getDefaultUseCaches()

setDefaultUseCaches

public static void setDefaultUseCaches(String protocol, boolean defaultVal)
Устанавливает для указанного протокола значение поля useCaches по умолчанию в заданное значение. Это значение переопределяет любые настройки по умолчанию, заданные методом setDefaultUseCaches(boolean) для указанного протокола. Последующие вызовы этого метода изменяют настройку и влияют на значение по умолчанию для всех будущих подключений по этому протоколу. Имя протокола не учитывает регистр.
Параметры:
protocol — протокол, для которого задаётся значение по умолчанию
defaultVal — признак того, включено ли кэширование по умолчанию для указанного протокола
Начиная с:
9

getDefaultUseCaches

public static boolean getDefaultUseCaches(String protocol)
Возвращает значение флага useCaches по умолчанию для указанного протокола. Если для указанного протокола был вызван метод setDefaultUseCaches(String,boolean), возвращается это значение. В противном случае, если был вызван метод setDefaultUseCaches(boolean), возвращается это значение. Если не был вызван ни один из методов, возвращаемое значение — true. Имя протокола не учитывает регистр.
Параметры:
protocol — протокол, для которого требуется значение параметра defaultUseCaches по умолчанию
Возвращает:
значение флага useCaches по умолчанию для указанного протокола.
Начиная с:
9

setRequestProperty

public void setRequestProperty(String key, String value)
Задаёт общее свойство запроса. Если свойство с таким ключом уже существует, его значение заменяется новым.

ПРИМЕЧАНИЕ. HTTP требует, чтобы все свойства запроса, для которых допускается несколько значений с одним ключом, использовали разделённый запятыми список, позволяющий объединить несколько свойств в одно.

Параметры:
key — ключ, по которому определяется запрос (например, «Accept»).
value — связанное с ним значение.
Исключения:
IllegalStateException — если подключение уже установлено
NullPointerException — если ключ равен null
См. также:
  • getRequestProperty(java.lang.String)

addRequestProperty

public void addRequestProperty(String key, String value)
Добавляет общее свойство запроса, заданное парой «ключ-значение». Этот метод не перезаписывает существующие значения, связанные с тем же ключом. Этот метод может ничего не делать, если используемый протокол в данном подклассе не поддерживает добавление значения в карту.
Параметры:
key — ключ, по которому определяется запрос (например, «Accept»).
value — связанное с ним значение.
Исключения:
IllegalStateException — если подключение уже установлено
NullPointerException — если ключ равен null
Начиная с:
1.4
См. также:
  • getRequestProperties()

getRequestProperty

public String getRequestProperty(String key)
Возвращает значение указанного общего свойства запроса для этого подключения.
Параметры:
key — ключ, по которому определяется запрос (например, «Accept»).
Возвращает:
значение указанного общего свойства запроса для этого подключения. Если ключ равен null, возвращается null.
Исключения:
IllegalStateException — если подключение уже установлено
См. также:
  • setRequestProperty(java.lang.String, java.lang.String)

getRequestProperties

public Map<String, List<String>> getRequestProperties()
Возвращает неизменяемую карту Map общих свойств запроса для этого подключения. Ключи Map — это строки String, представляющие имена полей заголовка запроса. Каждое значение Map — это неизменяемый список List строк String, представляющий соответствующие значения полей. Если с помощью метода addRequestProperty(String, String) добавлено несколько значений для одного ключа, они будут возвращены в том порядке, в котором были добавлены. Этот метод должен сохранять порядок добавления таких значений. Реализация этого метода по умолчанию сохраняет порядок добавления нескольких значений для одного ключа. Значения возвращаются в том порядке, в котором они были добавлены.
Возвращает:
карту Map общих свойств запроса для этого подключения.
Исключения:
IllegalStateException — если подключение уже установлено
Начиная с:
1.4

setDefaultRequestProperty

@Deprecated public static void setDefaultRequestProperty(String key, String value)
Устарело.
После получения подходящего экземпляра URLConnection следует использовать метод setRequestProperty, относящийся к экземпляру. Вызов этого метода не даст никакого результата.
Задаёт значение общего свойства запроса по умолчанию. При создании URLConnection он инициализируется этими свойствами.
Параметры:
key — ключ, по которому определяется запрос (например, «Accept»).
value — значение, связанное с ключом.
См. также:
  • setRequestProperty(java.lang.String,java.lang.String)
  • getDefaultRequestProperty(java.lang.String)

getDefaultRequestProperty

@Deprecated public static String getDefaultRequestProperty(String key)
Устарело.
После получения подходящего экземпляра URLConnection следует использовать метод getRequestProperty, относящийся к экземпляру.
Возвращает значение свойства запроса по умолчанию. Свойства запроса по умолчанию задаются для каждого подключения.
Параметры:
key — ключ, по которому определяется запрос (например, «Accept»).
Возвращает:
значение свойства запроса по умолчанию для указанного ключа.
См. также:
  • getRequestProperty(java.lang.String)
  • setDefaultRequestProperty(java.lang.String, java.lang.String)

setContentHandlerFactory

public static void setContentHandlerFactory(ContentHandlerFactory fac)
Устанавливает ContentHandlerFactory приложения. Приложение может вызвать этот метод не более одного раза.

Экземпляр ContentHandlerFactory используется для создания обработчика содержимого на основе типа содержимого.

Параметры:
fac — требуемая фабрика.
Исключения:
Error — если фабрика уже определена.
См. также:
  • ContentHandlerFactory
  • getContent()

guessContentTypeFromName

public static String guessContentTypeFromName(String fname)
Пытается определить тип содержимого объекта на основе указанного компонента URL «file». Это вспомогательный метод, который могут использовать подклассы, переопределяющие метод getContentType.
Параметры:
fname — имя файла.
Возвращает:
предположение о типе содержимого объекта, основанное на имени файла.
См. также:
  • getContentType()

guessContentTypeFromStream

public static String guessContentTypeFromStream(InputStream is) throws IOException
Пытается определить тип входного потока по символам в его начале. Этот метод могут использовать подклассы, переопределяющие метод getContentType.

В идеале эта процедура не должна требоваться. Однако многие серверы http возвращают неверный тип содержимого; кроме того, существует множество нестандартных расширений. Прямая проверка байтов для определения типа содержимого зачастую точнее, чем доверие типу содержимого, указанному сервером http.

Параметры:
is — входной поток, поддерживающий метки.
Возвращает:
предполагаемый тип содержимого или null, если его определить не удалось.
Исключения:
IOException — если при чтении входного потока произошла ошибка ввода-вывода.
См. также:
  • InputStream.mark(int)
  • InputStream.markSupported()
  • getContentType()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая общие сведения, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/URLConnection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API