Класс HttpURLConnection
- java.lang.Object
-
- java.net.URLConnection
-
- java.net.HttpURLConnection
- Прямые известные подклассы:
HttpsURLConnection
public abstract class HttpURLConnection extends URLConnection
URLConnection с поддержкой функций, специфичных для HTTP. Подробности см. в спецификации.
Каждый экземпляр HttpURLConnection используется для выполнения одного запроса, но базовое сетевое соединение с сервером HTTP может прозрачно использоваться другими экземплярами. Вызов методов close() на потоках InputStream или OutputStream HttpURLConnection после запроса может освободить сетевые ресурсы, связанные с этим экземпляром, но не повлияет на любые общие постоянные соединения. Вызов метода disconnect() может закрыть базовый сокет, если постоянное соединение в противном случае простаивает в этот момент.
У обработчика протокола HTTP есть несколько настроек, к которым можно получить доступ через системные свойства. Это охватывает настройки прокси, а также различные другие настройки.
Разрешения безопасности
Если установлен менеджер безопасности и если вызывается метод, который приводит к попытке открыть соединение, вызывающий должен обладать либо:
- разрешением "connect"
SocketPermissionк комбинации хост/порт целевого URL или - разрешением
URLPermission, которое разрешает этот запрос.
Если автоматическое перенаправление включено, и этот запрос перенаправляется на другой адрес назначения, вызывающий также должен иметь разрешение на подключение к перенаправленному хосту/URL.
- С момента:
- 1.1
- См. также:
disconnect()
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int | chunkLength | Размер фрагмента при использовании потокового режима с фрагментацией для вывода. |
protected int | fixedContentLength | Фиксированная длина содержимого при использовании потокового режима с фиксированной длиной. |
protected long | fixedContentLengthLong | Фиксированная длина содержимого при использовании потокового режима с фиксированной длиной. |
static int | HTTP_ACCEPTED | HTTP код состояния 202: Принято. |
static int | HTTP_BAD_GATEWAY | HTTP код состояния 502: Плохой шлюз. |
static int | HTTP_BAD_METHOD | HTTP код состояния 405: Метод не разрешен. |
static int | HTTP_BAD_REQUEST | HTTP код состояния 400: Неверный запрос. |
static int | HTTP_CLIENT_TIMEOUT | HTTP код состояния 408: Истечение времени ожидания запроса. |
static int | HTTP_CONFLICT | HTTP код состояния 409: Конфликт. |
static int | HTTP_CREATED | HTTP код состояния 201: Создано. |
static int | HTTP_ENTITY_TOO_LARGE | HTTP код состояния 413: Запрашиваемый объём данных слишком большой. |
static int | HTTP_FORBIDDEN | HTTP код состояния 403: Запрещено. |
static int | HTTP_GATEWAY_TIMEOUT | HTTP код состояния 504: Истечение времени ожидания шлюза. |
static int | HTTP_GONE | HTTP код состояния 410: Отсутствует. |
static int | HTTP_INTERNAL_ERROR | HTTP код состояния 500: Внутренняя ошибка сервера. |
static int | HTTP_LENGTH_REQUIRED | HTTP код состояния 411: Требуется длина. |
static int | HTTP_MOVED_PERM | HTTP код состояния 301: Перемещено постоянно. |
static int | HTTP_MOVED_TEMP | HTTP код состояния 302: Временное перенаправление. |
static int | HTTP_MULT_CHOICE | HTTP код состояния 300: Несколько вариантов. |
static int | HTTP_NO_CONTENT | HTTP код состояния 204: Нет содержимого. |
static int | HTTP_NOT_ACCEPTABLE | HTTP код состояния 406: Неприемлемо. |
static int | HTTP_NOT_AUTHORITATIVE | HTTP код состояния 203: Неавторитетная информация. |
static int | HTTP_NOT_FOUND | HTTP код состояния 404: Не найдено. |
static int | HTTP_NOT_IMPLEMENTED | HTTP код состояния 501: Не реализовано. |
static int | HTTP_NOT_MODIFIED | HTTP код состояния 304: Не модифицировано. |
static int | HTTP_OK | HTTP код состояния 200: Всё в порядке. |
static int | HTTP_PARTIAL | HTTP код состояния 206: Частичное содержимое. |
static int | HTTP_PAYMENT_REQUIRED | HTTP код состояния 402: Требуется оплата. |
static int | HTTP_PRECON_FAILED | HTTP код состояния 412: Предварительное условие не выполнено. |
static int | HTTP_PROXY_AUTH | HTTP код состояния 407: Требуется аутентификация прокси-сервера. |
static int | HTTP_REQ_TOO_LONG | HTTP код состояния 414: Запрашиваемый URL слишком длинный. |
static int | HTTP_RESET | HTTP код состояния 205: Сбросить содержимое. |
static int | HTTP_SEE_OTHER | HTTP код состояния 303: См. другой. |
static int | HTTP_SERVER_ERROR | Устарело. Неправильно расположено и не должно было существовать. |
static int | HTTP_UNAUTHORIZED | HTTP код состояния 401: Не авторизован. |
static int | HTTP_UNAVAILABLE | HTTP код состояния 503: Сервис недоступен. |
static int | HTTP_UNSUPPORTED_TYPE | HTTP код состояния 415: Неподдерживаемый тип носителя. |
static int | HTTP_USE_PROXY | HTTP код состояния 305: Используйте прокси. |
static int | HTTP_VERSION | HTTP код состояния 505: Не поддерживается версия HTTP. |
protected boolean | instanceFollowRedirects | Если |
protected String | method | Метод HTTP (GET, POST, PUT и т. д.). |
protected int | responseCode | Представление трёхзначного кода состояния HTTP. |
protected String | responseMessage | Сообщение HTTP ответа. |
Поля, объявленные в классе java.net.URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | HttpURLConnection(URL u) | Конструктор для HttpURLConnection. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void | disconnect() | Указывает, что в ближайшем будущем другие запросы к серверу маловероятны. |
InputStream | getErrorStream() | Возвращает поток ошибок, если соединение потерпело неудачу, но сервер тем не менее отправил полезные данные. |
static boolean | getFollowRedirects() | Возвращает |
String | getHeaderField(int n) | Возвращает значение для поля заголовка |
String | getHeaderFieldKey(int n) | Возвращает ключ для поля заголовка |
boolean | getInstanceFollowRedirects() | Возвращает значение поля |
Permission | getPermission() | Возвращает объект |
String | getRequestMethod() | Получить метод запроса. |
int | getResponseCode() | Получает код состояния из сообщения HTTP-ответа. |
String | getResponseMessage() | Получает сообщение HTTP-ответа, если оно было возвращено вместе с кодом ответа от сервера. |
void | setAuthenticator(Authenticator auth) | Предоставляет |
void | setChunkedStreamingMode(int chunklen) | Этот метод используется для включения потоковой передачи тела HTTP-запроса без внутренней буферизации, когда длина содержимого заранее не известна. |
void | setFixedLengthStreamingMode(int contentLength) | Этот метод используется для включения потоковой передачи тела HTTP-запроса без внутренней буферизации, когда длина содержимого известна заранее. |
void | setFixedLengthStreamingMode(long contentLength) | Этот метод используется для включения потоковой передачи тела HTTP-запроса без внутренней буферизации, когда длина содержимого известна заранее. |
static void | setFollowRedirects(boolean set) | Устанавливает, должны ли HTTP-перенаправления (запросы с кодом ответа 3xx) автоматически следовать за этим классом. |
void | setInstanceFollowRedirects(boolean followRedirects) | Устанавливает, следует ли автоматически перенаправлять HTTP-перенаправления (запросы с кодом ответа 3xx) экземпляру этого |
void | setRequestMethod(String method) | Устанавливает метод для запроса URL, один из: GET POST HEAD OPTIONS PUT DELETE TRACE разрешен, с учётом ограничений протокола. |
abstract boolean | usingProxy() | Указывает, проходит ли соединение через прокси-сервер. |
Методы, объявленные в классе java.net.URLConnection
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldLong, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
метод
protected String method
Метод HTTP (GET, POST, PUT и т.д.).
длина_фрагмента
protected int chunkLength
Длина фрагмента при использовании потокового режима с кодировкой chunked для вывода. Значение -1 означает, что кодировка chunked отключена для вывода.
- С:
- 1.5
фиксированная_длина_содержимого
protected int fixedContentLength
Фиксированная длина содержимого при использовании потокового режима с фиксированной длиной. Значение -1 означает, что потоковый режим с фиксированной длиной отключен для вывода.
ПРИМЕЧАНИЕ: fixedContentLengthLong рекомендуется вместо этого поля, так как оно позволяет задавать более большие длины содержимого.
- С:
- 1.5
фиксированная_длина_содержимого_long
protected long fixedContentLengthLong
Фиксированная длина содержимого при использовании потокового режима с фиксированной длиной. Значение -1 означает, что потоковый режим с фиксированной длиной отключен для вывода.
- С:
- 1.7
код_ответа
protected int responseCode
Значение, представляющее трёхзначный код состояния HTTP.
- 1xx: Информационное
- 2xx: Успех
- 3xx: Переадресация
- 4xx: Ошибка клиента
- 5xx: Ошибка сервера
сообщение_ответа
protected String responseMessage
Сообщение ответа HTTP.
следовать_перенаправлениям
protected boolean instanceFollowRedirects
Если true, протокол автоматически будет следовать перенаправлениям. Если false, протокол не будет автоматически следовать перенаправлениям.
Это поле устанавливается методом setInstanceFollowRedirects. Его значение возвращается методом getInstanceFollowRedirects.
Его значение по умолчанию основано на значении статического followRedirects во время создания HttpURLConnection.
- См. также:
-
setInstanceFollowRedirects(boolean),getInstanceFollowRedirects(),setFollowRedirects(boolean)
HTTP_OK
public static final int HTTP_OK
Код состояния HTTP 200: OK.
- См. также:
- Значения константных полей
HTTP_CREATED
public static final int HTTP_CREATED
Код состояния HTTP 201: Создано.
- См. также:
- Значения константных полей
HTTP_ACCEPTED
public static final int HTTP_ACCEPTED
Код состояния HTTP 202: Принято.
- См. также:
- Значения константных полей
HTTP_NOT_AUTHORITATIVE
public static final int HTTP_NOT_AUTHORITATIVE
Код состояния HTTP 203: Информация не является авторитетной.
- См. также:
- Значения константных полей
HTTP_NO_CONTENT
public static final int HTTP_NO_CONTENT
Код состояния HTTP 204: Без содержимого.
- См. также:
- Значения константных полей
HTTP_RESET
public static final int HTTP_RESET
Код состояния HTTP 205: Сброс содержимого.
- См. также:
- Значения константных полей
HTTP_PARTIAL
public static final int HTTP_PARTIAL
Код состояния HTTP 206: Частичное содержимое.
- См. также:
- Значения константных полей
HTTP_MULT_CHOICE
public static final int HTTP_MULT_CHOICE
Код состояния HTTP 300: Несколько вариантов.
- См. также:
- Значения константных полей
HTTP_MOVED_PERM
public static final int HTTP_MOVED_PERM
Код состояния HTTP 301: Постоянное перемещение.
- См. также:
- Значения константных полей
HTTP_MOVED_TEMP
public static final int HTTP_MOVED_TEMP
Код состояния HTTP 302: Временное перенаправление.
- См. также:
- Значения константных полей
HTTP_SEE_OTHER
public static final int HTTP_SEE_OTHER
Код состояния HTTP 303: Смотрите другое.
- См. также:
- Значения константных полей
HTTP_NOT_MODIFIED
public static final int HTTP_NOT_MODIFIED
Код состояния HTTP 304: Не изменялось.
- См. также:
- Значения константных полей
HTTP_USE_PROXY
public static final int HTTP_USE_PROXY
Код состояния HTTP 305: Использовать прокси.
- См. также:
- Значения константных полей
HTTP_BAD_REQUEST
public static final int HTTP_BAD_REQUEST
Код состояния HTTP 400: Неправильный запрос.
- См. также:
- Значения константных полей
HTTP_UNAUTHORIZED
public static final int HTTP_UNAUTHORIZED
Код состояния HTTP 401: Не авторизован.
- См. также:
- Значения константных полей
HTTP_PAYMENT_REQUIRED
public static final int HTTP_PAYMENT_REQUIRED
Код состояния HTTP 402: Требуется оплата.
- См. также:
- Значения константных полей
HTTP_FORBIDDEN
public static final int HTTP_FORBIDDEN
Код состояния HTTP 403: Запрещено.
- См. также:
- Значения константных полей
HTTP_NOT_FOUND
public static final int HTTP_NOT_FOUND
Код состояния HTTP 404: Не найдено.
- См. также:
- Значения константных полей
HTTP_BAD_METHOD
public static final int HTTP_BAD_METHOD
Код состояния HTTP 405: Недопустимый метод.
- См. также:
- Значения константных полей
HTTP_NOT_ACCEPTABLE
public static final int HTTP_NOT_ACCEPTABLE
Код состояния HTTP 406: Неприемлемо.
- См. также:
- Значения константных полей
HTTP_PROXY_AUTH
public static final int HTTP_PROXY_AUTH
Код состояния HTTP 407: Требуется аутентификация прокси.
- См. также:
- Значения константных полей
HTTP_CLIENT_TIMEOUT
public static final int HTTP_CLIENT_TIMEOUT
Код состояния HTTP 408: Истечение времени ожидания запроса.
- См. также:
- Значения константных полей
HTTP_CONFLICT
public static final int HTTP_CONFLICT
Код состояния HTTP 409: Конфликт.
- См. также:
- Значения константных полей
HTTP_GONE
public static final int HTTP_GONE
Код состояния HTTP 410: Удалено.
- См. также:
- Значения константных полей
HTTP_LENGTH_REQUIRED
public static final int HTTP_LENGTH_REQUIRED
Код состояния HTTP 411: Требуется длина.
- См. также:
- Значения константных полей
HTTP_PRECON_FAILED
public static final int HTTP_PRECON_FAILED
Код состояния HTTP 412: Ошибка предварительного условия.
- См. также:
- Значения константных полей
HTTP_ENTITY_TOO_LARGE
public static final int HTTP_ENTITY_TOO_LARGE
Код состояния HTTP 413: Слишком большое содержимое запроса.
- См. также:
- Значения константных полей
HTTP_REQ_TOO_LONG
public static final int HTTP_REQ_TOO_LONG
Код состояния HTTP 414: Слишком большой URI запроса.
- См. также:
- Значения константных полей
HTTP_UNSUPPORTED_TYPE
public static final int HTTP_UNSUPPORTED_TYPE
Код состояния HTTP 415: Неподдерживаемый тип медиа.
- См. также:
- Значения константных полей
HTTP_SERVER_ERROR
@Deprecated public static final int HTTP_SERVER_ERROR
Код состояния HTTP 500: Ошибка сервера.
- См. также:
- Значения константных полей
HTTP_INTERNAL_ERROR
public static final int HTTP_INTERNAL_ERROR
Код состояния HTTP 500: Ошибка сервера.
- См. также:
- Значения константных полей
HTTP_NOT_IMPLEMENTED
public static final int HTTP_NOT_IMPLEMENTED
HTTP код состояния 501: Не реализовано.
- См. также:
- Значения константных полей
HTTP_BAD_GATEWAY
public static final int HTTP_BAD_GATEWAY
HTTP код состояния 502: Плохой шлюз.
- См. также:
- Значения константных полей
HTTP_UNAVAILABLE
public static final int HTTP_UNAVAILABLE
HTTP код состояния 503: Сервис недоступен.
- См. также:
- Значения константных полей
HTTP_GATEWAY_TIMEOUT
public static final int HTTP_GATEWAY_TIMEOUT
HTTP код состояния 504: Таймаут шлюза.
- См. также:
- Значения константных полей
HTTP_VERSION
public static final int HTTP_VERSION
HTTP код состояния 505: Неподдерживаемая версия HTTP.
- См. также:
- Значения константных полей
Конструкторы
HttpURLConnection
protected HttpURLConnection(URL u)
Конструктор для HttpURLConnection.
- Параметры:
-
u- URL
Методы
setAuthenticator
public void setAuthenticator(Authenticator auth)
Предоставляет Authenticator для использования при запросе аутентификации через протокол HTTP для этого HttpURLConnection. Если аутентификатор не указан, будет использован по умолчанию аутентификатор.
- Требования к реализации:
- По умолчанию этот метод безусловно выбрасывает
UnsupportedOperationException. Конкретные реализацииHttpURLConnectionкоторые поддерживают предоставлениеAuthenticatorдля конкретного экземпляраHttpURLConnectionдолжны переопределять этот метод для реализации другого поведения. - Примечание для реализации:
- В зависимости от схем аутентификации, реализация может или не может использовать предоставленный аутентификатор для получения пароля. Например, реализация, которая полагается на сторонние библиотеки безопасности, может всё ещё вызывать аутентификатор по умолчанию, если эти библиотеки настроены на это. Аналогично, реализация, которая поддерживает прозрачную аутентификацию NTLM, может позволить системе сначала попытаться подключиться с использованием учетных данных системного пользователя, прежде чем вызывать предоставленный аутентификатор.
Однако, если аутентификатор специально предоставлен, то базовое соединение может быть использовано только для экземпляровHttpURLConnectionкоторые используют тот же экземплярAuthenticator, и информация об аутентификации, если кэшируется, может быть использована только для экземпляраHttpURLConnectionкоторый использует тот же экземплярAuthenticator. - Параметры:
-
auth-Authenticatorкоторый должен использоваться этимHttpURLConnection. - Исключения:
-
UnsupportedOperationException- если установка аутентификатора не поддерживается базовой реализацией. -
IllegalStateException- если URLConnection уже подключено. -
NullPointerException- если предоставленныйauthявляетсяnull. - С момента:
- 9
getHeaderFieldKey
public String getHeaderFieldKey(int n)
Возвращает ключ для n-го поля заголовка. Некоторые реализации могут рассматривать 0-е поле заголовка как специальное, т.е. как строку состояния, возвращённую сервером HTTP. В этом случае getHeaderField(0) возвращает строку состояния, но getHeaderFieldKey(0) возвращает null.
- Переопределяет:
-
getHeaderFieldKeyв классеURLConnection - Параметры:
-
n- индекс, гдеn >=0. - Возвращает:
- ключ для
n-го поля заголовка, илиnullесли ключ не существует.
setFixedLengthStreamingMode
public void setFixedLengthStreamingMode(int contentLength)
Этот метод используется для включения потоковой передачи тела HTTP-запроса без внутренней буферизации, когда длина содержимого известна заранее.
Будет выброшено исключение, если приложение попытается записать больше данных, чем указанная длина содержимого, или если приложение закроет OutputStream, прежде чем записать указанное количество.
При включённой потоковой передаче данных, аутентификация и перенаправление не обрабатываются автоматически. HttpRetryException будет выброшен при чтении ответа, если требуется аутентификация или перенаправление. Это исключение может быть запрошено для получения подробностей об ошибке.
Этот метод должен быть вызван до подключения URLConnection.
ПРИМЕЧАНИЕ: setFixedLengthStreamingMode(long) рекомендуется вместо этого метода, так как он позволяет устанавливать более большие длины содержимого.
- Параметры:
-
contentLength- количество байтов, которые будут записаны в OutputStream. - Исключения:
-
IllegalStateException- если URLConnection уже подключено или если уже включён другой режим потоковой передачи. -
IllegalArgumentException- если указана длина содержимого меньше нуля. - С момента:
- 1.5
- См. также:
setChunkedStreamingMode(int)
setFixedLengthStreamingMode
public void setFixedLengthStreamingMode(long contentLength)
Этот метод используется для включения потоковой передачи тела HTTP-запроса без внутренней буферизации, когда длина содержимого известна заранее.
Будет выброшено исключение, если приложение попытается записать больше данных, чем указанная длина содержимого, или если приложение закроет OutputStream, прежде чем записать указанное количество.
При включённой потоковой передаче данных, аутентификация и перенаправление не обрабатываются автоматически. HttpRetryException будет выброшен при чтении ответа, если требуется аутентификация или перенаправление. Это исключение может быть запрошено для получения подробностей об ошибке.
Этот метод должен быть вызван до подключения URLConnection.
Длина содержимого, установленная вызовом этого метода, имеет приоритет над любым значением, установленным setFixedLengthStreamingMode(int).
- Параметры:
-
contentLength- количество байтов, которые будут записаны в OutputStream. - Исключения:
-
IllegalStateException- если URLConnection уже подключено или если уже включён другой режим потоковой передачи. -
IllegalArgumentException- если указана длина содержимого меньше нуля. - С момента:
- 1.7
setChunkedStreamingMode
public void setChunkedStreamingMode(int chunklen)
Этот метод используется для включения потоковой передачи тела HTTP-запроса без внутренней буферизации, когда длина содержимого не известна заранее. В этом режиме используется кодирование фрагментами для отправки тела запроса. Обратите внимание, что не все серверы HTTP поддерживают этот режим.
При включённой потоковой передаче данных, аутентификация и перенаправление не обрабатываются автоматически. HttpRetryException будет выброшен при чтении ответа, если требуется аутентификация или перенаправление. Это исключение может быть запрошено для получения подробностей об ошибке.
Этот метод должен быть вызван до подключения URLConnection.
- Параметры:
-
chunklen- количество байтов для записи в каждом фрагменте. Если chunklen меньше или равно нулю, будет использовано значение по умолчанию. - Исключения:
-
IllegalStateException- если URLConnection уже подключено или если уже включён другой режим потоковой передачи. - С момента:
- 1.5
- См. также:
setFixedLengthStreamingMode(int)
getHeaderField
public String getHeaderField(int n)
Возвращает значение для n-го поля заголовка. Некоторые реализации могут рассматривать 0-е поле заголовка как специальное, т.е. как строку состояния, возвращённую сервером HTTP.
Этот метод может быть использован совместно с методом getHeaderFieldKey для перебора всех заголовков в сообщении.
- Переопределяет:
-
getHeaderFieldв классеURLConnection - Параметры:
-
n- индекс, гдеn>=0. - Возвращает:
- значение
n-го поля заголовка, илиnullесли значение не существует. - См. также:
getHeaderFieldKey(int)
setFollowRedirects
public static void setFollowRedirects(boolean set)
Устанавливает, следует ли автоматически перенаправлять HTTP-перенаправления (запросы с кодом ответа 3xx) этим классом. По умолчанию значение равно true. Апплеты не могут изменить эту переменную.
Если есть менеджер безопасности, этот метод сначала вызывает метод checkSetFactory менеджера безопасности, чтобы убедиться, что операция разрешена. Это может привести к SecurityException.
- Параметры:
-
set- значение, указывающее, следует ли следовать HTTP-перенаправлениям. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckSetFactoryне разрешает операцию. - См. также:
-
SecurityManager.checkSetFactory(),getFollowRedirects()
getFollowRedirects
public static boolean getFollowRedirects()
Возвращает значение, указывающее, следует ли автоматически следовать HTTP-перенаправлениям (3xx).
- Возвращает:
-
trueесли HTTP-перенаправления должны следовать автоматически,falseесли нет. - См. также:
setFollowRedirects(boolean)
setInstanceFollowRedirects
public void setInstanceFollowRedirects(boolean followRedirects)
Устанавливает, следует ли автоматически перенаправлять HTTP-перенаправления (запросы с кодом ответа 3xx) этим экземпляром HttpURLConnection.
Значение по умолчанию взято из followRedirects, которое по умолчанию равно true.
- Параметры:
-
followRedirects- значение, указывающее, следует ли следовать HTTP-перенаправлениям. - С момента:
- 1.3
- См. также:
-
instanceFollowRedirects,getInstanceFollowRedirects()
getInstanceFollowRedirects
public boolean getInstanceFollowRedirects()
Возвращает значение поля instanceFollowRedirects этого экземпляра HttpURLConnection.
- Возвращает:
- значение поля
instanceFollowRedirectsэтого экземпляраHttpURLConnection. - С момента:
- 1.3
- См. также:
-
instanceFollowRedirects,setInstanceFollowRedirects(boolean)
setRequestMethod
public void setRequestMethod(String method)
throws ProtocolException Устанавливает метод для запроса URL, один из:
- GET
- POST
- HEAD
- OPTIONS
- PUT
- DELETE
- TRACE
- Параметры:
-
method- HTTP-метод - Исключения:
-
ProtocolException- если метод не может быть сброшен или если запрашиваемый метод не является допустимым для HTTP. -
SecurityException- если установлен менеджер безопасности и метод равен "TRACE", но разрешение "allowHttpTrace" NetPermission не предоставлено. - См. также:
getRequestMethod()
getRequestMethod
public String getRequestMethod()
Получить метод запроса.
- Возвращает:
- метод HTTP-запроса
- См. также:
setRequestMethod(java.lang.String)
getResponseCode
public int getResponseCode()
throws IOException Получает код состояния из сообщения HTTP-ответа. Например, в случае следующих строк состояния:
HTTP/1.0 200 OK HTTP/1.0 401 UnauthorizedОн вернет 200 и 401 соответственно. Возвращает -1, если из ответа нельзя определить код (то есть ответ не является корректным HTTP).
- Возвращает:
- код HTTP-состояния или -1
- Выбрасывает:
-
IOException- если произошла ошибка при подключении к серверу.
getResponseMessage
public String getResponseMessage()
throws IOException Получает сообщение HTTP-ответа, если оно есть, возвращённое вместе с кодом ответа сервером. Из ответов, таких как:
HTTP/1.0 200 OK HTTP/1.0 404 Not FoundИзвлекаются строки "OK" и "Не найдено" соответственно. Возвращает null, если из ответов нельзя определить сообщение (результат не является корректным HTTP).
- Возвращает:
- сообщение HTTP-ответа или
null - Выбрасывает:
-
IOException- если произошла ошибка при подключении к серверу.
disconnect
public abstract void disconnect()
Указывает, что другие запросы к серверу в ближайшем будущем маловероятны. Вызов disconnect() не должен подразумевать, что этот экземпляр HttpURLConnection можно повторно использовать для других запросов.
usingProxy
public abstract boolean usingProxy()
Указывает, использует ли подключение прокси-сервер.
- Возвращает:
- булево значение, указывающее, использует ли подключение прокси-сервер.
getPermission
public Permission getPermission()
throws IOException Возвращает объект SocketPermission, представляющий разрешение, необходимое для подключения к целевому хосту и порту.
- Переопределяет:
-
getPermissionв классеURLConnection - Возвращает:
- объект
SocketPermission, представляющий разрешение, необходимое для подключения к целевому хосту и порту. - Выбрасывает:
-
IOException- если при вычислении разрешения произошла ошибка.
getErrorStream
public InputStream getErrorStream()
Возвращает поток ошибок, если подключение завершилось ошибкой, но сервер тем не менее отправил полезные данные. Типичный пример — когда HTTP-сервер отвечает кодом 404, что вызовет исключение FileNotFoundException в connect, но сервер отправит страницу справки с HTML с предложениями по действиям.
Этот метод не вызовет инициализацию подключения. Если подключение не было установлено, или если сервер не имел ошибки во время подключения, или если сервер имел ошибку, но не были отправлены данные об ошибке, этот метод вернёт null. Это значение по умолчанию.
- Возвращает:
- поток ошибок, если таковой имеется, null, если ошибок нет, подключение не установлено или сервер не отправил полезных данных.
© 1993, 2020, 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/11/docs/api/java.base/java/net/HttpURLConnection.html