Класс URLConnection
- Прямые известные подклассы:
HttpURLConnection, JarURLConnection
public abstract class URLConnection extends Object
URLConnection является суперклассом всех классов, представляющих канал связи между приложением и URL. Экземпляры этого класса можно использовать как для чтения из ресурса, на который ссылается URL, так и для записи в него. В общем случае создание подключения к URL — это многоэтапный процесс:
- Объект подключения создаётся вызовом метода
openConnectionдля URL. - Настраиваются параметры и общие свойства запроса.
- Устанавливается фактическое подключение к удалённому объекту с помощью метода
connect. - Удалённый объект становится доступен. Можно получить доступ к полям заголовка и содержимому удалённого объекта.
Параметры настройки изменяются с помощью следующих методов:
-
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
- Внешние спецификации
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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, протоколу разрешено использовать кэширование, когда это возможно. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт подключение URL для указанного URL. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addRequestProperty |
Добавляет общее свойство запроса, заданное парой «ключ — значение». |
abstract void |
connect() |
Открывает канал связи с ресурсом, на который ссылается этот URL, если такое подключение ещё не установлено. |
boolean |
getAllowUserInteraction() |
Возвращает значение поля allowUserInteraction этого объекта. |
int |
getConnectTimeout() |
Возвращает заданное время ожидания подключения. |
Object |
getContent() |
Получает содержимое этого подключения URL. |
Object |
getContent |
Получает содержимое этого подключения 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 |
Устарел. После получения подходящего экземпляра URLConnection следует использовать специфичный для экземпляра метод getRequestProperty. |
boolean |
getDefaultUseCaches() |
Возвращает значение флага useCaches по умолчанию для URLConnection. |
static boolean |
getDefaultUseCaches |
Возвращает значение флага useCaches по умолчанию для указанного протокола. |
boolean |
getDoInput() |
Возвращает значение флага doInput этого URLConnection. |
boolean |
getDoOutput() |
Возвращает значение флага doOutput этого URLConnection. |
long |
getExpiration() |
Возвращает значение поля заголовка expires. |
static FileNameMap |
getFileNameMap() |
Загружает карту имён файлов (таблицу MIME-типов) из файла данных. |
String |
getHeaderField |
Возвращает значение поля заголовка с индексом nth. |
String |
getHeaderField |
Возвращает значение поля заголовка с указанным именем. |
long |
getHeaderFieldDate |
Возвращает значение поля с указанным именем, разобранное как дата. |
int |
getHeaderFieldInt |
Возвращает значение поля с указанным именем, разобранное как число. |
String |
getHeaderFieldKey |
Возвращает ключ поля заголовка с индексом nth. |
long |
getHeaderFieldLong |
Возвращает значение поля с указанным именем, разобранное как число. |
Map |
getHeaderFields() |
Возвращает неизменяемую карту полей заголовка. |
long |
getIfModifiedSince() |
Возвращает значение поля ifModifiedSince этого объекта. |
InputStream |
getInputStream() |
Возвращает входной поток для чтения из этого открытого подключения. |
long |
getLastModified() |
Возвращает значение поля заголовка last-modified. |
OutputStream |
getOutputStream() |
Возвращает выходной поток для записи в это подключение. |
Permission |
getPermission() |
Устарел, будет удалён: этот элемент API планируется удалить в будущей версии. Разрешения больше нельзя использовать для управления доступом к ресурсам, поскольку Security Manager больше не поддерживается. |
int |
getReadTimeout() |
Возвращает заданное время ожидания чтения. Возвращаемое значение 0 означает, что параметр отключён (то есть время ожидания не ограничено). |
Map |
getRequestProperties() |
Возвращает неизменяемую карту общих свойств запроса для этого подключения. |
String |
getRequestProperty |
Возвращает значение общего свойства запроса с указанным именем для этого подключения. |
URL |
getURL() |
Возвращает значение поля URL этого URLConnection. |
boolean |
getUseCaches() |
Возвращает значение поля useCaches этого URLConnection. |
static String |
guessContentTypeFromName |
Пытается определить тип содержимого объекта на основе компонента URL, соответствующего «файлу». |
static String |
guessContentTypeFromStream |
Пытается определить тип входного потока по символам в его начале. |
void |
setAllowUserInteraction |
Задаёт значение поля allowUserInteraction этого URLConnection. |
void |
setConnectTimeout |
Задаёт время ожидания в миллисекундах, используемое при открытии канала связи с ресурсом, на который ссылается этот URLConnection. |
static void |
setContentHandlerFactory |
Задаёт ContentHandlerFactory приложения. |
static void |
setDefaultAllowUserInteraction |
Задаёт указанное значение по умолчанию для поля allowUserInteraction всех будущих объектов URLConnection. |
static void |
setDefaultRequestProperty |
Устарел. После получения подходящего экземпляра URLConnection следует использовать специфичный для экземпляра метод setRequestProperty. |
void |
setDefaultUseCaches |
Задаёт указанное значение по умолчанию для поля useCaches. |
static void |
setDefaultUseCaches |
Задаёт указанное значение по умолчанию для поля useCaches в протоколе с указанным именем. |
void |
setDoInput |
Задаёт указанное значение поля doInput для этого URLConnection. |
void |
setDoOutput |
Задаёт указанное значение поля doOutput для этого URLConnection. |
static void |
setFileNameMap |
Задаёт FileNameMap. |
void |
setIfModifiedSince |
Задаёт указанное значение поля ifModifiedSince для этого URLConnection. |
void |
setReadTimeout |
Задаёт время ожидания чтения в миллисекундах. |
void |
setRequestProperty |
Задаёт общее свойство запроса. |
void |
setUseCaches |
Задаёт указанное значение поля useCaches для этого URLConnection. |
String |
toString() |
Возвращает String представление этого подключения URL. |
Подробное описание полей
url
protected URL url
Значение этого поля можно получить с помощью метода getURL.
Значение этой переменной по умолчанию совпадает со значением аргумента URL в конструкторе URLConnection.
- См. также:
doInput
protected boolean doInput
setDoInput. Ее значение возвращается методом getDoInput. Соединение URL можно использовать для ввода и/или вывода данных. Установка флага doInput в значение true означает, что приложение намерено считывать данные из соединения URL.
Значение этого поля по умолчанию — true.
- См. также:
doOutput
protected boolean doOutput
setDoOutput. Ее значение возвращается методом getDoOutput. Соединение URL можно использовать для ввода и/или вывода данных. Установка флага doOutput в значение true означает, что приложение намерено записывать данные в соединение URL.
Значение этого поля по умолчанию — false.
- См. также:
allowUserInteraction
protected boolean allowUserInteraction
true, этот URL рассматривается в контексте, в котором допустимо взаимодействие с пользователем, например отображение диалогового окна аутентификации. Если false, взаимодействие с пользователем не допускается. Значение этого поля можно задать методом setAllowUserInteraction. Его значение возвращается методом getAllowUserInteraction. Значение по умолчанию совпадает со значением аргумента при последнем вызове метода setDefaultAllowUserInteraction.
- См. также:
useCaches
protected boolean useCaches
true, протоколу разрешено использовать кэш при любой возможности. Если false, протокол должен всегда пытаться получить актуальную копию объекта. Это поле устанавливается методом setUseCaches. Его значение возвращается методом getUseCaches.
Значение по умолчанию совпадает со значением, заданным при последнем вызове метода setDefaultUseCaches.
Настройку по умолчанию можно переопределить для каждого протокола с помощью setDefaultUseCaches(String,boolean).
- См. также:
ifModifiedSince
protected long ifModifiedSince
Ненулевое значение задает время в миллисекундах, прошедшее с 1 января 1970 года по Гринвичу. Объект загружается, только если он был изменен после этого момента.
Эта переменная устанавливается методом setIfModifiedSince. Ее значение возвращается методом getIfModifiedSince.
Значение этого поля по умолчанию — 0, что означает, что загрузка должна выполняться всегда.
- См. также:
connected
protected boolean connected
false, этот объект соединения еще не установил канал связи с указанным URL. Если true, канал связи установлен.Подробное описание конструкторов
URLConnection
protected URLConnection(URL url)
- Параметры:
-
url— указанный URL.
Подробное описание методов
getFileNameMap
public static FileNameMap getFileNameMap()
- Возвращает:
- FileNameMap
- Начиная с версии:
- 1.2
- См. также:
setFileNameMap
public static void setFileNameMap(FileNameMap map)
- Параметры:
-
map— задаваемый FileNameMap - Начиная с версии:
- 1.2
- См. также:
connect
public abstract void connect() throws IOException
Если метод connect вызывается после открытия соединения (что определяется по значению true поля connected), вызов игнорируется.
Объекты URLConnection проходят два этапа: сначала они создаются, затем устанавливают соединение. После создания и до установления соединения можно задать различные параметры (например, doInput и UseCaches). После установления соединения попытка задать эти параметры приводит к ошибке. Операции, для которых требуется установленное соединение, например getContentLength, при необходимости выполняют установление соединения неявно.
- Выбрасывает:
-
SocketTimeoutException— если время ожидания истекает до установления соединения -
IOException— если при открытии соединения возникает ошибка ввода-вывода. - См. также:
setConnectTimeout
public void setConnectTimeout(int timeout)
Некоторые нестандартные реализации этого метода могут игнорировать заданное время ожидания. Чтобы узнать установленное время ожидания соединения, вызовите getConnectTimeout().
- Параметры:
-
timeout—int, задающий время ожидания соединения в миллисекундах - Выбрасывает:
-
IllegalArgumentException— если параметр времени ожидания отрицателен - Начиная с версии:
- 1.5
- См. также:
getConnectTimeout
public int getConnectTimeout()
Возвращаемое значение 0 означает, что параметр отключен (то есть время ожидания бесконечно).
- Возвращает:
int, задающее время ожидания соединения в миллисекундах- Начиная с версии:
- 1.5
- См. также:
setReadTimeout
public void setReadTimeout(int timeout)
Некоторые нестандартные реализации этого метода игнорируют заданное время ожидания. Чтобы узнать установленное время ожидания чтения, вызовите getReadTimeout().
- Параметры:
-
timeout—int, задающий время ожидания в миллисекундах - Выбрасывает:
-
IllegalArgumentException— если параметр времени ожидания отрицателен - Начиная с версии:
- 1.5
- См. также:
getReadTimeout
public int getReadTimeout()
- Возвращает:
int, задающее время ожидания чтения в миллисекундах- Начиная с версии:
- 1.5
- См. также:
getURL
public URL getURL()
URL этого URLConnection.- Возвращает:
- значение поля
URLэтогоURLConnection. - См. также:
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, если он неизвестен. - См. также:
getContentEncoding
public String getContentEncoding()
content-encoding.- Возвращает:
- кодировку содержимого ресурса, на который ссылается URL, или
null, если она неизвестна. - См. также:
getExpiration
public long getExpiration()
expires.- Возвращает:
- дату истечения срока действия ресурса, на который ссылается этот URL, или 0, если она неизвестна. Значение представляет собой количество миллисекунд, прошедших с 1 января 1970 года по Гринвичу.
- См. также:
getDate
public long getDate()
date.- Возвращает:
- дату отправки ресурса, на который ссылается URL, или
0, если она неизвестна. Возвращаемое значение представляет собой количество миллисекунд, прошедших с 1 января 1970 года по Гринвичу. - См. также:
getLastModified
public long getLastModified()
last-modified. Результат представляет собой количество миллисекунд, прошедших с 1 января 1970 года по Гринвичу.- Возвращает:
- дату последнего изменения ресурса, на который ссылается этот
URLConnection, или 0, если она неизвестна. - См. также:
getHeaderField
public String getHeaderField(String name)
Если соединение задает один и тот же заголовок несколько раз с возможными различными значениями, возвращается только последнее значение.
- Параметры:
-
name— имя поля заголовка. - Возвращает:
- значение указанного поля заголовка или
null, если такого поля в заголовке нет.
getHeaderFields
public Map<String, List<String>> getHeaderFields()
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)
Эта форма 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 - См. также:
getContent
public Object getContent() throws IOException
Этот метод сначала определяет тип содержимого объекта, вызывая метод getContentType. Если приложение встречает этот тип содержимого впервые, для него создается обработчик содержимого.
Это выполняется следующим образом:
- Если приложение настроило экземпляр фабрики обработчиков содержимого с помощью метода
setContentHandlerFactory, вызывается методcreateContentHandlerэтого экземпляра, которому передается тип содержимого; результатом будет обработчик этого типа содержимого. - Если фабрика
ContentHandlerFactoryеще не была настроена или методcreateContentHandlerфабрики возвращаетnull, для поиска реализаций ContentHandlerFactory с помощью системного загрузчика классов используется механизм ServiceLoader. Порядок поиска фабрик зависит от реализации; реализация может кэшировать найденные фабрики. Если при вызовеcreateContentHandlerвозникает исключение ServiceConfigurationError,ErrorилиRuntimeException, оно передается вызвавшему потоку. Для каждой созданной фабрики вызывается методcreateContentHandlerс типом содержимого, пока одна из фабрик не вернет значение, отличное от null, либо не будут проверены все фабрики. - Если ни один из этих способов не сработал, метод пытается загрузить класс обработчика содержимого, определенный в
ContentHandler. Если класс не существует или не является подклассомContentHandler, выбрасываетсяUnknownServiceException.
- Возвращает:
- полученный объект. Для определения конкретного типа возвращенного объекта следует использовать оператор
instanceof. - Выбрасывает:
-
IOException— если при получении содержимого возникает ошибка ввода-вывода. -
UnknownServiceException— если протокол не поддерживает этот тип содержимого. - См. также:
getContent
public Object getContent(Class<?>[] classes) throws IOException
- Параметры:
-
classes— массивClass, указывающий запрошенные типы - Возвращает:
- полученный объект, тип которого первым соответствует одному из классов, указанных в массиве. null, если ни один из запрошенных типов не поддерживается. Для определения конкретного типа возвращенного объекта следует использовать оператор
instanceof. - Выбрасывает:
-
IOException— если при получении содержимого возникает ошибка ввода-вывода. -
UnknownServiceException— если протокол не поддерживает этот тип содержимого. - Начиная с версии:
- 1.3
- См. также:
getPermission
@Deprecated(since="25", forRemoval=true) public Permission getPermission() throws IOException
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
- Примечание API:
- Возвращаемый этим методом
InputStreamможет оборачиватьInflaterInputStream, методread(byte[], int, int)которого может изменять любой элемент выходного буфера. - Возвращает:
- входной поток для чтения из этого открытого соединения.
- Выбрасывает:
-
IOException— если при создании входного потока возникает ошибка ввода-вывода. -
UnknownServiceException— если протокол не поддерживает ввод. - См. также:
getOutputStream
public OutputStream getOutputStream() throws IOException
- Возвращает:
- выходной поток для записи в это соединение.
- Выбрасывает:
-
IOException— если при создании выходного потока возникает ошибка ввода-вывода. -
UnknownServiceException— если протокол не поддерживает вывод.
toString
setDoInput
public void setDoInput(boolean doinput)
doInput для этого URLConnection в указанное значение. URL-подключение можно использовать для ввода и/или вывода данных. Установите флаг doInput в значение true, если планируете использовать URL-подключение для ввода данных, и в false в противном случае. Значение по умолчанию — true.
- Параметры:
-
doinput— новое значение. - Исключения:
-
IllegalStateException— если подключение уже установлено - См. также:
getDoInput
public boolean getDoInput()
doInput этого URLConnection.- Возвращает:
- значение флага
doInputэтогоURLConnection. - См. также:
setDoOutput
public void setDoOutput(boolean dooutput)
doOutput для этого URLConnection в указанное значение. URL-подключение можно использовать для ввода и/или вывода данных. Установите флаг doOutput в значение true, если планируете использовать URL-подключение для вывода данных, и в false в противном случае. Значение по умолчанию — false.
- Параметры:
-
dooutput— новое значение. - Исключения:
-
IllegalStateException— если подключение уже установлено - См. также:
getDoOutput
public boolean getDoOutput()
doOutput этого URLConnection.- Возвращает:
- значение флага
doOutputэтогоURLConnection. - См. также:
setAllowUserInteraction
public void setAllowUserInteraction(boolean allowuserinteraction)
allowUserInteraction этого URLConnection.- Параметры:
-
allowuserinteraction— новое значение. - Исключения:
-
IllegalStateException— если подключение уже установлено - См. также:
getAllowUserInteraction
public boolean getAllowUserInteraction()
allowUserInteraction этого объекта.- Возвращает:
- значение поля
allowUserInteractionэтого объекта. - См. также:
setDefaultAllowUserInteraction
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
allowUserInteraction по умолчанию для всех будущих объектов URLConnection в указанное значение.- Параметры:
-
defaultallowuserinteraction— новое значение. - См. также:
getDefaultAllowUserInteraction
public static boolean getDefaultAllowUserInteraction()
allowUserInteraction по умолчанию. Это значение по умолчанию является «липким» и входит в статическое состояние всех URLConnection. Этот флаг применяется к следующему и всем последующим создаваемым URLConnection.
- Возвращает:
- значение поля
allowUserInteractionпо умолчанию. - См. также:
setUseCaches
public void setUseCaches(boolean usecaches)
useCaches этого URLConnection в указанное значение. Некоторые протоколы кэшируют документы. Иногда важно иметь возможность «обойти» кэш и игнорировать его (например, кнопка «Перезагрузить» в браузере). Если для подключения установлен флаг UseCaches со значением true, подключению разрешено использовать доступные кэши. Если значение равно false, кэши игнорируются. Значение по умолчанию берётся из defaultUseCaches, которое по умолчанию равно true. Значение по умолчанию также можно задать для каждого протокола с помощью setDefaultUseCaches(String,boolean).
- Параметры:
-
usecaches—boolean, указывающий, разрешено ли кэширование - Исключения:
-
IllegalStateException— если подключение уже установлено - См. также:
getUseCaches
public boolean getUseCaches()
useCaches этого URLConnection.- Возвращает:
- значение поля
useCachesэтогоURLConnection. - См. также:
setIfModifiedSince
public void setIfModifiedSince(long ifmodifiedsince)
ifModifiedSince этого URLConnection в указанное значение.- Параметры:
-
ifmodifiedsince— новое значение. - Исключения:
-
IllegalStateException— если подключение уже установлено - См. также:
getIfModifiedSince
public long getIfModifiedSince()
ifModifiedSince этого объекта.- Возвращает:
- значение поля
ifModifiedSinceэтого объекта. - См. также:
getDefaultUseCaches
public boolean getDefaultUseCaches()
useCaches для URLConnection по умолчанию. Это значение по умолчанию является «липким» и входит в статическое состояние всех URLConnection. Этот флаг применяется к следующему и всем последующим создаваемым URLConnection. Это значение по умолчанию можно переопределить для каждого протокола с помощью setDefaultUseCaches(String,boolean)
- Возвращает:
- значение флага
useCachesдляURLConnectionпо умолчанию. - См. также:
setDefaultUseCaches
public void setDefaultUseCaches(boolean defaultusecaches)
useCaches по умолчанию в указанное значение. Это значение по умолчанию можно переопределить для каждого протокола с помощью setDefaultUseCaches(String,boolean)
- Параметры:
-
defaultusecaches— новое значение. - См. также:
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 - См. также:
addRequestProperty
public void addRequestProperty(String key, String value)
- Параметры:
-
key— ключ, по которому определяется запрос (например, «Accept»). -
value— связанное с ним значение. - Исключения:
-
IllegalStateException— если подключение уже установлено -
NullPointerException— если ключ равен null - Начиная с:
- 1.4
- См. также:
getRequestProperty
public String getRequestProperty(String key)
- Параметры:
-
key— ключ, по которому определяется запрос (например, «Accept»). - Возвращает:
- значение указанного общего свойства запроса для этого подключения. Если ключ равен null, возвращается null.
- Исключения:
-
IllegalStateException— если подключение уже установлено - См. также:
getRequestProperties
public Map<String, List<String>> getRequestProperties()
addRequestProperty(String, String) добавлено несколько значений для одного ключа, они будут возвращены в том порядке, в котором были добавлены. Этот метод должен сохранять порядок добавления таких значений. Реализация этого метода по умолчанию сохраняет порядок добавления нескольких значений для одного ключа. Значения возвращаются в том порядке, в котором они были добавлены.- Возвращает:
- карту Map общих свойств запроса для этого подключения.
- Исключения:
-
IllegalStateException— если подключение уже установлено - Начиная с:
- 1.4
setDefaultRequestProperty
@Deprecated public static void setDefaultRequestProperty(String key, String value)
URLConnection он инициализируется этими свойствами.- Параметры:
-
key— ключ, по которому определяется запрос (например, «Accept»). -
value— значение, связанное с ключом. - См. также:
getDefaultRequestProperty
@Deprecated public static String getDefaultRequestProperty(String key)
- Параметры:
-
key— ключ, по которому определяется запрос (например, «Accept»). - Возвращает:
- значение свойства запроса по умолчанию для указанного ключа.
- См. также:
setContentHandlerFactory
public static void setContentHandlerFactory(ContentHandlerFactory fac)
ContentHandlerFactory приложения. Приложение может вызвать этот метод не более одного раза. Экземпляр ContentHandlerFactory используется для создания обработчика содержимого на основе типа содержимого.
- Параметры:
-
fac— требуемая фабрика. - Исключения:
-
Error— если фабрика уже определена. - См. также:
guessContentTypeFromName
public static String guessContentTypeFromName(String fname)
getContentType.- Параметры:
-
fname— имя файла. - Возвращает:
- предположение о типе содержимого объекта, основанное на имени файла.
- См. также:
guessContentTypeFromStream
public static String guessContentTypeFromStream(InputStream is) throws IOException
getContentType. В идеале эта процедура не должна требоваться. Однако многие серверы http возвращают неверный тип содержимого; кроме того, существует множество нестандартных расширений. Прямая проверка байтов для определения типа содержимого зачастую точнее, чем доверие типу содержимого, указанному сервером http.
- Параметры:
-
is— входной поток, поддерживающий метки. - Возвращает:
- предполагаемый тип содержимого или
null, если его определить не удалось. - Исключения:
-
IOException— если при чтении входного потока произошла ошибка ввода-вывода. - См. также:
© 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