Класс 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. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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 |
getHeaderFields() |
Возвращает неизменяемую карту полей заголовков. |
long |
getIfModifiedSince() |
Возвращает значение поля ifModifiedSince этого объекта. |
InputStream |
getInputStream() |
Возвращает поток ввода, считывающий данные из открытого соединения. |
long |
getLastModified() |
Возвращает значение поля заголовка last-modified. |
OutputStream |
getOutputStream() |
Возвращает поток вывода, записывающий данные в это соединение. |
Permission |
getPermission() |
Возвращает объект разрешения, представляющий разрешение, необходимое для установления соединения, представленного этим объектом. |
int |
getReadTimeout() |
Возвращает значение таймаута чтения. 0 означает, что опция отключена (т.е. таймаут бесконечен). |
Map |
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 |
Устанавливает FileNameMap. |
doOutput |
URLConnection |
Устанавливает значение поля ifModifiedSince для данного URLConnection на заданное значение. |
static void |
setFileNameMap |
Устанавливает таймаут чтения на указанное значение в миллисекундах. |
void |
setIfModifiedSince |
Устанавливает общее свойство запроса. |
void |
setReadTimeout |
Устанавливает значение поля useCaches для данного URLConnection на заданное значение. |
void |
setUseCaches |
Возвращает представление 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 вызывается, когда соединение уже открыто (что указывается значением поля 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()
- Возвращает:
- целое число, которое указывает значение таймаута чтения в миллисекундах
- С:
- 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. В реализации этих методов, если для данного ключа существует несколько соответствующих значений, они должны возвращаться в порядке добавления, сохраняя порядок вставки.- Требования к реализации:
- В реализации по умолчанию данный метод всегда возвращает пустую карту.
- Возвращает:
- карту полей заголовков
- С:
- 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, то используется механизм 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
- Примечание 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. Это значение по умолчанию «прилипает», являясь частью статического состояния всех 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. Этот флаг применяется к следующему и всем последующим 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- разрешено ли кэширование по умолчанию для данного протокола - 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 - См. также:
addRequestProperty
public void addRequestProperty(String key, String value)
- Параметры:
-
key- ключевое слово, по которому известен запрос (например, "Accept"). -
value- значение, связанное с ним. - Исключения:
-
IllegalStateException- если соединение уже установлено -
NullPointerException- если ключ равен null - Since:
- 1.4
- См. также:
getRequestProperty
public String getRequestProperty(String key)
- Параметры:
-
key- ключевое слово, по которому известен запрос (например, "Accept"). - Возвращает:
- значение общего свойства запроса с заданным именем для этого соединения. Если ключ равен null, возвращается null.
- Исключения:
-
IllegalStateException- если соединение уже установлено - См. также:
getRequestProperties
public Map<String, List<String>> getRequestProperties()
addRequestProperty(String, String), эти значения будут возвращены в порядке их добавления. Этот метод должен сохранять порядок вставки таких значений. По умолчанию этот метод сохраняет порядок вставки при добавлении нескольких значений для данного ключа. Значения возвращаются в порядке их добавления.- Возвращает:
- карту общих свойств запроса для этого соединения.
- Исключение:
-
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 используется для создания обработчика содержимого из типа содержимого.
- Параметры:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/URLConnection.html