Spec-Zone.ru › OpenJDK 24

Класс 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.

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

Модификатор и тип Метод Описание
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 defaultValue)
Возвращает значение поля по имени, распарсенное как дата.
int getHeaderFieldInt(String name, int defaultValue)
Возвращает значение поля по имени, распарсенное как число.
String getHeaderFieldKey(int n)
Возвращает ключ поля заголовка с индексом n.
long getHeaderFieldLong(String name, long defaultValue)
Возвращает значение поля по имени, распарсенное как число.
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)
Устанавливает FileNameMap.
doOutput URLConnection
Устанавливает значение поля ifModifiedSince для данного URLConnection на заданное значение.
static void setFileNameMap(FileNameMap map)
Устанавливает таймаут чтения на указанное значение в миллисекундах.
void setIfModifiedSince(long ifmodifiedsince)
Устанавливает общее свойство запроса.
void setReadTimeout(int timeout)
Устанавливает значение поля useCaches для данного URLConnection на заданное значение.
void setUseCaches(boolean usecaches)
Возвращает представление 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()
Загружает карту имён файлов (mimetable) из файла данных. Сначала будет попытка загрузить таблицу для текущего пользователя, определённую свойством "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 вызывается, когда соединение уже открыто (что указывается значением поля 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 означает, что опция отключена (т.е., таймаут бесконечен).
Возвращает:
целое число, которое указывает значение таймаута чтения в миллисекундах
С:
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()
Возвращает неизменяемую карту полей заголовков. Ключи карты — строки, представляющие имена полей заголовка ответа. Каждый элемент карты — неизменяемый список строк, представляющих соответствующие значения полей. Данный метод переопределен подклассами URLConnection. В реализации этих методов, если для данного ключа существует несколько соответствующих значений, они должны возвращаться в порядке добавления, сохраняя порядок вставки.
Требования к реализации:
В реализации по умолчанию данный метод всегда возвращает пустую карту.
Возвращает:
карту полей заголовков
С:
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, то используется механизм 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 может быть выброшено при чтении из возвращаемого потока ввода, если таймаут чтения истекает до того, как данные станут доступны для чтения.
Примечание API:
Возвращаемый этим методом поток InputStream может обернуть InflaterInputStream, чьё метод read(byte[], int, int) может изменять любой элемент выходного буфера.
Возвращает:
поток ввода, читающий из этого открытого соединения.
Исключение:
IOException - если при создании потока ввода произошла ошибка ввода-вывода.
UnknownServiceException - если протокол не поддерживает ввод.
См. также:
  • setReadTimeout(int)
  • getReadTimeout()

getOutputStream

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

toString

public String toString()
Возвращает строковое представление этого подключения к 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.

Это значение по умолчанию «прилипает», являясь частью статического состояния всех 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. Этот флаг применяется к следующему и всем последующим 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 - разрешено ли кэширование по умолчанию для данного протокола
Since:
9

getDefaultUseCaches

public static boolean getDefaultUseCaches(String protocol)
Возвращает значение по умолчанию флага useCaches для данного протокола. Если был вызван метод setDefaultUseCaches(String,boolean) для данного протокола, возвращается это значение. В противном случае, если был вызван метод setDefaultUseCaches(boolean), возвращается это значение. Если ни один из методов не был вызван, возвращается true. Имя протокола нечувствительно к регистру.
Параметры:
protocol - протокол, для которого требуется значение defaultUseCaches
Возвращает:
значение по умолчанию флага useCaches для данного протокола.
Since:
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
Since:
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()
Возвращает неизменяемую карту общих свойств запроса для этого соединения. Ключи карты — строки, представляющие имена полей заголовка запроса. Каждое значение карты — неизменяемый список строк, представляющий соответствующие значения полей. Если несколько значений для данного ключа добавлены через метод addRequestProperty(String, String), эти значения будут возвращены в порядке их добавления. Этот метод должен сохранять порядок вставки таких значений. По умолчанию этот метод сохраняет порядок вставки при добавлении нескольких значений для данного ключа. Значения возвращаются в порядке их добавления.
Возвращает:
карту общих свойств запроса для этого соединения.
Исключение:
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 используется для создания обработчика содержимого из типа содержимого.

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

guessContentTypeFromName

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

guessContentTypeFromStream

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

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/URLConnection.html

Spec-Zone.ru

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