Spec-Zone.ru › OpenJDK 17

Класс 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 после запроса может освободить сетевые ресурсы, связанные с этим экземпляром, если спецификации протокола не предусматривают иного поведения.
Since:
1.0
См. также:
  • 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.

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

Модификатор и тип Метод Описание
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)
Устарело.
Следует использовать метод getRequestProperty для конкретного экземпляра URLConnection после получения соответствующего экземпляра.
boolean getDefaultUseCaches()
Возвращает значение по умолчанию флага URLConnection для useCaches.
static boolean getDefaultUseCaches(String protocol)
Возвращает значение по умолчанию флага useCaches для указанного протокола.
boolean getDoInput()
Возвращает значение флага doInput для этого URLConnection.
boolean getDoOutput()
Возвращает значение флага doOutput для этого URLConnection.
long getExpiration()
Возвращает значение поля заголовка expires.
static FileNameMap getFileNameMap()
Загружает карту имен файлов (mimetable) из файла данных.
String getHeaderField(int n)
Возвращает значение поля заголовка с индексом n.
String getHeaderField(String name)
Возвращает значение поля заголовка с заданным именем.
long getHeaderFieldDate(String name, long Default)
Возвращает значение поля с заданным именем, распарсенное как дата.
int getHeaderFieldInt(String name, int Default)
Возвращает значение поля с заданным именем, распарсенное как число.
String getHeaderFieldKey(int n)
Возвращает ключ поля заголовка с индексом n.
long getHeaderFieldLong(String name, long Default)
Возвращает значение поля с заданным именем, распарсенное как число.
Map<String,List<String>> getHeaderFields()
Возвращает неизменяемую карту полей заголовков.
long getIfModifiedSince()
Возвращает значение поля ifModifiedSince данного объекта.
InputStream getInputStream()
Возвращает поток ввода, читающий из этого открытого соединения.
long getLastModified()
Возвращает значение поля заголовка last-modified.
OutputStream getOutputStream()
Возвращает поток вывода, записывающий в это соединение.
Permission getPermission()
Возвращает объект разрешения, представляющий разрешение, необходимое для создания соединения, представленного этим объектом.
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)
Попытка определить тип содержимого объекта на основе заданного компонента "file" 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)
Устарело.
Следует использовать метод setRequestProperty для конкретного экземпляра URLConnection после получения соответствующего экземпляра.
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.

Методы, объявленные в классе java.lang.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.

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

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.

Если есть менеджер безопасности, то метод сначала вызывает метод менеджера безопасности checkSetFactory, чтобы убедиться, что операция разрешена. Это может привести к исключению SecurityException.

Параметры:
map — устанавливаемый FileNameMap
Исключения:
SecurityException — если менеджер безопасности существует и его метод checkSetFactory не разрешает операцию.
С:
1.2
См. также:
  • SecurityManager.checkSetFactory()
  • getFileNameMap()

connect

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

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

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

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

setConnectTimeout

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

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

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

getConnectTimeout

public int getConnectTimeout()
Возвращает значение таймаута подключения.

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

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

setReadTimeout

public void setReadTimeout(int timeout)
Устанавливает таймаут чтения в указанное значение (в миллисекундах). ненулевое значение задаёт таймаут при чтении из входного потока после установления соединения с ресурсом. Если таймаут истекает до того, как данные будут доступны для чтения, генерируется исключение java.net.SocketTimeoutException. Таймаут в 0 интерпретируется как бесконечный таймаут.

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

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

getReadTimeout

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

getURL

public URL getURL()
Возвращает значение поля URLConnection этого объекта URL.
Возвращает:
значение поля URLConnection этого объекта URL.
См. также:
  • 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, если она неизвестна. Значение — количество миллисекунд с начала 1970 года по Гринвичу.
См. также:
  • getHeaderField(java.lang.String)

getDate

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

getLastModified

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

getHeaderField

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

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

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

getHeaderFields

public Map<String,List<String>> getHeaderFields()
Возвращает неизменяемую карту полей заголовка. Ключи карты — строки, представляющие имена полей заголовка ответа. Каждое значение карты — неизменяемый список строк, представляющих соответствующие значения поля.
Возвращает:
карта полей заголовка
С:
1.4

getHeaderFieldInt

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

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

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

getHeaderFieldLong

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

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

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

getHeaderFieldDate

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

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

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

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, то используется механизм ServiceLoader для поиска реализаций ContentHandlerFactory с использованием системного загрузчика классов. Порядок поиска фабрик зависит от реализации, и реализация может кешировать найденные фабрики. ServiceConfigurationError, Error или RuntimeException, выброшенные методом createContentHandler, если возникнут, будут переданы в поток вызова. Метод 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

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

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

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

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

getInputStream

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

getOutputStream

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

toString

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

setDoInput

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

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

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

getDoInput

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

setDoOutput

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

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

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

getDoOutput

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

setAllowUserInteraction

public void setAllowUserInteraction(boolean allowuserinteraction)
Устанавливает значение поля allowUserInteraction этого подключения.
Параметры:
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.

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

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

setUseCaches

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

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

Параметры:
usecaches — значение, определяющее, разрешено ли кэширование
Исключения:
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.

Это значение «липкое», являясь частью статического состояния всех URLConnections. Данное значение по умолчанию может быть переопределено для каждого протокола с помощью 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()
Возвращает неизменяемую карту общих свойств запроса для этого соединения. Ключи карты — строки, представляющие имена полей заголовка запроса. Каждое значение карты — неизменяемый список строк, представляющий соответствующие значения полей.
Возвращает:
карта общих свойств запроса для этого соединения.
Исключения:
IllegalStateException — если соединение уже установлено
С момента:
1.4

setDefaultRequestProperty

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

getDefaultRequestProperty

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

setContentHandlerFactory

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

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

Если есть менеджер безопасности, этот метод сначала вызывает метод checkSetFactory менеджера безопасности, чтобы убедиться, что операция разрешена. Это может привести к исключению SecurityException.

Parameters:
fac - желаемый фабричный объект.
Throws:
Error - если фабрика уже определена.
SecurityException - если менеджер безопасности существует и его метод checkSetFactory не разрешает операцию.
See Also:
  • ContentHandlerFactory
  • getContent()
  • SecurityManager.checkSetFactory()

guessContentTypeFromName

public static String guessContentTypeFromName(String fname)
Попытка определить тип содержимого объекта на основе указанного компонента "файл" URL-адреса. Это удобный метод, который можно использовать подклассам, которые переопределяют метод getContentType.
Parameters:
fname - имя файла.
Returns:
предположение о типе содержимого объекта на основе его имени файла.
See Also:
  • getContentType()

guessContentTypeFromStream

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

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

Parameters:
is - поток ввода, который поддерживает метки.
Returns:
предположение о типе содержимого или null, если тип определить невозможно.
Throws:
IOException - если возникает ошибка ввода-вывода при чтении потока ввода.
See Also:
  • InputStream.mark(int)
  • InputStream.markSupported()
  • getContentType()

© 1993, 2021, 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/17/docs/api/java.base/java/net/URLConnection.html

Spec-Zone.ru

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