Класс 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 после запроса может освободить сетевые ресурсы, связанные с этим экземпляром, если спецификации протокола не предусматривают иного поведения.- 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, протоколу разрешено использовать кэширование, когда это возможно. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает соединение с указанным 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 |
Устарело. Следует использовать метод getRequestProperty для конкретного экземпляра URLConnection после получения соответствующего экземпляра. |
boolean |
getDefaultUseCaches() |
Возвращает значение по умолчанию флага URLConnection для useCaches. |
static boolean |
getDefaultUseCaches |
Возвращает значение по умолчанию флага useCaches для указанного протокола. |
boolean |
getDoInput() |
Возвращает значение флага doInput для этого URLConnection. |
boolean |
getDoOutput() |
Возвращает значение флага doOutput для этого URLConnection. |
long |
getExpiration() |
Возвращает значение поля заголовка expires. |
static FileNameMap |
getFileNameMap() |
Загружает карту имен файлов (mimetable) из файла данных. |
String |
getHeaderField |
Возвращает значение поля заголовка с индексом n. |
String |
getHeaderField |
Возвращает значение поля заголовка с заданным именем. |
long |
getHeaderFieldDate |
Возвращает значение поля с заданным именем, распарсенное как дата. |
int |
getHeaderFieldInt |
Возвращает значение поля с заданным именем, распарсенное как число. |
String |
getHeaderFieldKey |
Возвращает ключ поля заголовка с индексом n. |
long |
getHeaderFieldLong |
Возвращает значение поля с заданным именем, распарсенное как число. |
Map<String, |
getHeaderFields() |
Возвращает неизменяемую карту полей заголовков. |
long |
getIfModifiedSince() |
Возвращает значение поля ifModifiedSince данного объекта. |
InputStream |
getInputStream() |
Возвращает поток ввода, читающий из этого открытого соединения. |
long |
getLastModified() |
Возвращает значение поля заголовка last-modified. |
OutputStream |
getOutputStream() |
Возвращает поток вывода, записывающий в это соединение. |
Permission |
getPermission() |
Возвращает объект разрешения, представляющий разрешение, необходимое для создания соединения, представленного этим объектом. |
int |
getReadTimeout() |
Возвращает настройку таймаута чтения. 0 означает, что опция отключена (т.е. таймаут бесконечный). |
Map<String, |
getRequestProperties() |
Возвращает неизменяемую карту общих свойств запроса для этого соединения. |
String |
getRequestProperty |
Возвращает значение общего свойства запроса с заданным именем для этого соединения. |
URL |
getURL() |
Возвращает значение поля URL данного URLConnection. |
boolean |
getUseCaches() |
Возвращает значение поля useCaches данного URLConnection. |
static String |
guessContentTypeFromName |
Попытка определить тип содержимого объекта на основе заданного компонента "file" URL. |
static String |
guessContentTypeFromStream |
Попытка определить тип потока ввода на основе символов в начале потока ввода. |
void |
setAllowUserInteraction |
Устанавливает значение поля allowUserInteraction этого URLConnection. |
void |
setConnectTimeout |
Устанавливает заданное значение таймаута, в миллисекундах, для открытия канала связи с ресурсом, на который указывает данный URLConnection. |
static void |
setContentHandlerFactory |
Устанавливает ContentHandlerFactory приложения. |
static void |
setDefaultAllowUserInteraction |
Устанавливает значение по умолчанию поля allowUserInteraction для всех будущих объектов URLConnection на указанное значение. |
static void |
setDefaultRequestProperty |
Устарело. Следует использовать метод setRequestProperty для конкретного экземпляра URLConnection после получения соответствующего экземпляра. |
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)
Если есть менеджер безопасности, то метод сначала вызывает метод менеджера безопасности checkSetFactory, чтобы убедиться, что операция разрешена. Это может привести к исключению SecurityException.
- Параметры:
-
map— устанавливаемый FileNameMap - Исключения:
-
SecurityException— если менеджер безопасности существует и его методcheckSetFactoryне разрешает операцию. - С:
- 1.2
- См. также:
connect
public abstract void connect() throws IOException
Если метод connect вызывается, когда подключение уже открыто (что указывается значением поля connected равным true), вызов игнорируется.
Объекты URLConnection проходят две фазы: сначала они создаются, затем подключаются. После создания и до подключения можно указать различные параметры (например, doInput и UseCaches). После подключения попытка установить их приводит к ошибке. Операции, зависящие от установленного подключения, например, getContentLength, неявно выполняют подключение, если это необходимо.
- Исключения:
-
SocketTimeoutException— если таймаут истекает до того, как подключение может быть установлено -
IOException— если при открытии подключения произошла ошибка ввода-вывода. - См. также:
setConnectTimeout
public void setConnectTimeout(int timeout)
Некоторые нестандартные реализации этого метода могут игнорировать указанный таймаут. Чтобы увидеть установленный таймаут подключения, вызовите getConnectTimeout().
- Параметры:
-
timeout— значение таймаута подключения в миллисекундах - Исключения:
-
IllegalArgumentException— если значение таймаута отрицательное - С:
- 1.5
- См. также:
getConnectTimeout
public int getConnectTimeout()
Возвращаемое значение 0 означает, что опция отключена (т.е., таймаут бесконечен).
- Возвращает:
- значение таймаута подключения в миллисекундах
- С:
- 1.5
- См. также:
setReadTimeout
public void setReadTimeout(int timeout)
Некоторые нестандартные реализации этого метода игнорируют заданный таймаут. Чтобы увидеть установленный таймаут чтения, вызовите getReadTimeout().
- Параметры:
-
timeout— значение таймаута в миллисекундах - Исключения:
-
IllegalArgumentException— если значение таймаута отрицательное - С:
- 1.5
- См. также:
getReadTimeout
public int getReadTimeout()
- Возвращает:
- значения
int, которое указывает значение таймаута чтения в миллисекундах - С:
- 1.5
- См. также:
getURL
public URL getURL()
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, если он неизвестен. - См. также:
getContentEncoding
public String getContentEncoding()
content-encoding.- Возвращает:
- кодировку содержимого ресурса, на который ссылается URL, или
null, если она неизвестна. - См. также:
getExpiration
public long getExpiration()
expires.- Возвращает:
- дату истечения срока действия ресурса, на который ссылается URL, или 0, если она неизвестна. Значение — количество миллисекунд с начала 1970 года по Гринвичу.
- См. также:
getDate
public long getDate()
date.- Возвращает:
- дату отправки ресурса, на который ссылается URL, или
0, если она неизвестна. Возвращаемое значение — количество миллисекунд с начала 1970 года по Гринвичу. - См. также:
getLastModified
public long getLastModified()
last-modified. Результат — количество миллисекунд с начала 1970 года по Гринвичу.- Возвращает:
- последнюю дату изменения ресурса, на который ссылается этот объект
URLConnection, или 0, если она неизвестна. - См. также:
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)
Данный метод 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 - См. также:
getContent
public Object getContent() throws IOException
Этот метод сначала определяет тип содержимого объекта, вызвав метод getContentType. Если это первый раз, когда приложение встречает этот тип содержимого, создается обработчик содержимого для этого типа.
Это делается следующим образом:
- Если приложение настроило экземпляр фабрики обработчиков содержимого с помощью метода
setContentHandlerFactory, вызывается методcreateContentHandlerэтого экземпляра со значением типа содержимого в качестве аргумента; результатом является обработчик содержимого для этого типа. - Если ни один
ContentHandlerFactoryеще не был настроен, или если методcreateContentHandlerфабрики возвращаетnull, то используется механизм ServiceLoader для поиска реализаций ContentHandlerFactory с использованием системного загрузчика классов. Порядок поиска фабрик зависит от реализации, и реализация может кешировать найденные фабрики. ServiceConfigurationError,ErrorилиRuntimeException, выброшенные методомcreateContentHandler, если возникнут, будут переданы в поток вызова. Метод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
public Permission getPermission() throws IOException
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
- Возвращает:
- поток ввода, который считывает данные из этого открытого соединения.
- Исключения:
-
IOException- если при создании потока ввода произошла ошибка ввода-вывода. -
UnknownServiceException- если протокол не поддерживает ввод. - См. также:
getOutputStream
public OutputStream getOutputStream() throws IOException
- Возвращает:
- поток вывода, который записывает данные в это соединение.
- Исключения:
-
IOException- если при создании потока вывода произошла ошибка ввода-вывода. -
UnknownServiceException- если протокол не поддерживает вывод.
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого подключения.
setDoInput
public void setDoInput(boolean doinput)
doInput для этого подключения к URL в указанное значение. Подключение к URL может использоваться для ввода и/или вывода. Установите флаг doInput в true, если планируется использовать подключение к URL для ввода, в false — если нет. Значение по умолчанию — true.
- Параметры:
-
doinput- новое значение. - Исключения:
-
IllegalStateException- если уже подключено - См. также:
getDoInput
public boolean getDoInput()
doInput этого подключения.- Возвращает:
- значение флага
doInputэтого подключения. - См. также:
setDoOutput
public void setDoOutput(boolean dooutput)
doOutput для этого подключения к URL в указанное значение. Подключение к URL может использоваться для ввода и/или вывода. Установите флаг doOutput в true, если планируется использовать подключение к URL для вывода, в false — если нет. Значение по умолчанию — false.
- Параметры:
-
dooutput- новое значение. - Исключения:
-
IllegalStateException- если уже подключено - См. также:
getDoOutput
public boolean getDoOutput()
doOutput этого подключения.- Возвращает:
- значение флага
doOutputэтого подключения. - См. также:
setAllowUserInteraction
public void setAllowUserInteraction(boolean allowuserinteraction)
allowUserInteraction этого подключения.- Параметры:
-
allowuserinteraction- новое значение. - Исключения:
-
IllegalStateException- если уже подключено - См. также:
getAllowUserInteraction
public boolean getAllowUserInteraction()
allowUserInteraction для этого объекта.- Возвращает:
- значение поля
allowUserInteractionдля этого объекта. - См. также:
setDefaultAllowUserInteraction
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
allowUserInteraction для всех будущих объектов URLConnection в указанное значение.- Параметры:
-
defaultallowuserinteraction- новое значение. - См. также:
getDefaultAllowUserInteraction
public static boolean getDefaultAllowUserInteraction()
allowUserInteraction. Это значение «липкое», являясь частью статического состояния всех URLConnections. Этот флаг применяется к следующему и всем последующим URLConnections, которые создаются.
- Возвращает:
- значение по умолчанию для поля
allowUserInteraction. - См. также:
setUseCaches
public void setUseCaches(boolean usecaches)
useCaches этого объекта URLConnection на заданное значение. Некоторые протоколы кэшируют документы. Иногда важно иметь возможность «пропускать» и игнорировать кэши (например, кнопка «перезагрузить» в браузере). Если флаг UseCaches для соединения имеет значение true, соединение разрешено использовать доступные кэши. Если false, кэши игнорируются. Значение по умолчанию берется из defaultUseCaches, которое равно true. Значение по умолчанию также можно установить для каждого протокола, используя setDefaultUseCaches(String,boolean).
- Параметры:
-
usecaches— значение, определяющее, разрешено ли кэширование - Исключения:
-
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. Это значение «липкое», являясь частью статического состояния всех URLConnections. Данное значение по умолчанию может быть переопределено для каждого протокола с помощью 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()
- Возвращает:
- карта общих свойств запроса для этого соединения.
- Исключения:
-
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 используется для построения обработчика содержимого по типу содержимого.
Если есть менеджер безопасности, этот метод сначала вызывает метод checkSetFactory менеджера безопасности, чтобы убедиться, что операция разрешена. Это может привести к исключению SecurityException.
- Parameters:
-
fac- желаемый фабричный объект. - Throws:
-
Error- если фабрика уже определена. -
SecurityException- если менеджер безопасности существует и его методcheckSetFactoryне разрешает операцию. - See Also:
guessContentTypeFromName
public static String guessContentTypeFromName(String fname)
getContentType.- Parameters:
-
fname- имя файла. - Returns:
- предположение о типе содержимого объекта на основе его имени файла.
- See Also:
guessContentTypeFromStream
public static String guessContentTypeFromStream(InputStream is) throws IOException
getContentType. В идеале, эта процедура не нужна. Но многие http серверы возвращают неправильный тип содержимого; кроме того, существует множество нестандартных расширений. Прямой анализ байтов для определения типа содержимого часто более точен, чем доверие типу содержимого, указанному сервером http.
- Parameters:
-
is- поток ввода, который поддерживает метки. - Returns:
- предположение о типе содержимого или
null, если тип определить невозможно. - Throws:
-
IOException- если возникает ошибка ввода-вывода при чтении потока ввода. - See Also:
© 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