Класс HttpsURLConnection
- java.lang.Object
-
- java.net.URLConnection
-
- java.net.HttpURLConnection
-
- javax.net.ssl.HttpsURLConnection
public abstract class HttpsURLConnection extends HttpURLConnection
HttpsURLConnection расширяет HttpURLConnection с поддержкой функций, специфичных для https.
См. http://www.w3.org/pub/WWW/Protocols/ и RFC 2818 для получения более подробной информации об спецификации https.
Этот класс использует HostnameVerifier и SSLSocketFactory. Для обоих классов определены реализации по умолчанию. Однако реализации могут быть заменены на уровне класса (статически) или на уровне экземпляра. Все новые экземпляры HttpsURLConnection будут назначены статическим значениям по умолчанию при создании экземпляра, но их можно переопределить, вызвав соответствующие методы установки на уровне экземпляра до connect.
- Since:
- 1.4
Краткое описание полей
| Модификатор и тип | Поле и описание |
|---|---|
protected HostnameVerifier |
hostnameVerifier Объект |
Наследуемые поля из класса java.net.HttpURLConnection
chunkLength, fixedContentLength, fixedContentLengthLong, HTTP_ACCEPTED, HTTP_BAD_GATEWAY, HTTP_BAD_METHOD, HTTP_BAD_REQUEST, HTTP_CLIENT_TIMEOUT, HTTP_CONFLICT, HTTP_CREATED, HTTP_ENTITY_TOO_LARGE, HTTP_FORBIDDEN, HTTP_GATEWAY_TIMEOUT, HTTP_GONE, HTTP_INTERNAL_ERROR, HTTP_LENGTH_REQUIRED, HTTP_MOVED_PERM, HTTP_MOVED_TEMP, HTTP_MULT_CHOICE, HTTP_NO_CONTENT, HTTP_NOT_ACCEPTABLE, HTTP_NOT_AUTHORITATIVE, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_NOT_MODIFIED, HTTP_OK, HTTP_PARTIAL, HTTP_PAYMENT_REQUIRED, HTTP_PRECON_FAILED, HTTP_PROXY_AUTH, HTTP_REQ_TOO_LONG, HTTP_RESET, HTTP_SEE_OTHER, HTTP_SERVER_ERROR, HTTP_UNAUTHORIZED, HTTP_UNAVAILABLE, HTTP_UNSUPPORTED_TYPE, HTTP_USE_PROXY, HTTP_VERSION, instanceFollowRedirects, method, responseCode, responseMessage Наследуемые поля из класса java.net.URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches Краткое описание конструкторов
| Модификатор | Конструктор и описание |
|---|---|
protected |
HttpsURLConnection(URL url) Создаёт |
Краткое описание методов
| Модификатор и тип | Метод и описание |
|---|---|
abstract String |
getCipherSuite() Возвращает используемый набор шифров на этом соединении. |
static HostnameVerifier |
getDefaultHostnameVerifier() Получает значение по умолчанию |
static SSLSocketFactory |
getDefaultSSLSocketFactory() Получает значение по умолчанию статического |
HostnameVerifier |
getHostnameVerifier() Получает |
abstract Certificate[] |
getLocalCertificates() Возвращает сертификат(ы), отправленный серверу во время рукопожатия. |
Principal |
getLocalPrincipal() Возвращает субъект, отправленный серверу во время рукопожатия. |
Principal |
getPeerPrincipal() Возвращает субъект сервера, установленный в ходе определения сессии. |
abstract Certificate[] |
getServerCertificates() Возвращает цепочку сертификатов сервера, установленную в ходе определения сессии. |
SSLSocketFactory |
getSSLSocketFactory() Получает фабрику сокетов SSL, которая будет использоваться при создании сокетов для защищенных соединений https URL. |
static void |
setDefaultHostnameVerifier(HostnameVerifier v) Устанавливает значение по умолчанию |
static void |
setDefaultSSLSocketFactory(SSLSocketFactory sf) Устанавливает значение по умолчанию |
void |
setHostnameVerifier(HostnameVerifier v) Устанавливает |
void |
setSSLSocketFactory(SSLSocketFactory sf) Устанавливает |
Наследуемые методы из класса java.net.HttpURLConnection
disconnect, getErrorStream, getFollowRedirects, getHeaderField, getHeaderFieldDate, getHeaderFieldKey, getInstanceFollowRedirects, getPermission, getRequestMethod, getResponseCode, getResponseMessage, setChunkedStreamingMode, setFixedLengthStreamingMode, setFixedLengthStreamingMode, setFollowRedirects, setInstanceFollowRedirects, setRequestMethod, usingProxy Наследуемые методы из класса java.net.URLConnection
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderFieldInt, getHeaderFieldLong, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString Наследуемые методы из класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
hostnameVerifier
protected HostnameVerifier hostnameVerifier
Проверка имени хоста для этого объекта.
Конструкторы
HttpsURLConnection
protected HttpsURLConnection(URL url)
Создаёт объект HttpsURLConnection с использованием указанного URL.
- Параметры:
-
url- URL
Методы
getCipherSuite
public abstract String getCipherSuite()
Возвращает используемый набор шифров для данного соединения.
- Возвращает:
- набор шифров
- Исключения:
-
IllegalStateException- если метод вызывается до установления соединения.
getLocalCertificates
public abstract Certificate[] getLocalCertificates()
Возвращает сертификат(ы), который(е) был(и) отправлен(ы) серверу во время установления соединения.
Примечание: Этот метод полезен только при использовании наборов шифров, основанных на сертификатах.
Когда для установления соединения доступно несколько сертификатов, реализация выбирает, что считает «лучшей» цепочкой сертификатов и передаёт её другой стороне. Этот метод позволяет вызывающему коду узнать, какая цепочка сертификатов была фактически отправлена.
- Возвращает:
- упорядоченный массив сертификатов, начинающийся с собственного сертификата клиента, за которым следуют все сертификаты центров сертификации. Если сертификаты не были отправлены, возвращается null.
- Исключения:
-
IllegalStateException- если метод вызывается до установления соединения. - См. также:
getLocalPrincipal()
getServerCertificates
public abstract Certificate[] getServerCertificates()
throws SSLPeerUnverifiedException Возвращает цепочку сертификатов сервера, которая была установлена в процессе определения сессии.
Примечание: Этот метод может быть использован только при использовании наборов шифров, основанных на сертификатах; использование его с наборами шифров, не основанными на сертификатах, таких как Kerberos, приведёт к исключению SSLPeerUnverifiedException.
- Возвращает:
- упорядоченный массив сертификатов сервера, начинающийся с сертификата сервера, за которым следуют все сертификаты центров сертификации.
- Исключения:
-
SSLPeerUnverifiedException- если сервер не проверен. -
IllegalStateException- если метод вызывается до установления соединения. - См. также:
getPeerPrincipal()
getPeerPrincipal
public Principal getPeerPrincipal()
throws SSLPeerUnverifiedException Возвращает принципал сервера, установленный в процессе определения сессии.
Примечание: Подклассы должны переопределять этот метод. Если он не переопределён, по умолчанию он вернёт X500Principal сертификата конечного узла сервера для наборов шифров, основанных на сертификатах X509, или вызовет SSLPeerUnverifiedException для наборов шифров, не основанных на сертификатах, таких как Kerberos.
- Возвращает:
- принципал сервера. Возвращает X500Principal сертификата конечного узла для наборов шифров X509 и KerberosPrincipal для наборов шифров Kerberos.
- Исключения:
-
SSLPeerUnverifiedException- если сервер не был проверен -
IllegalStateException- если метод вызывается до установления соединения. - С:
- 1.5
- См. также:
-
getServerCertificates(),getLocalPrincipal()
getLocalPrincipal
public Principal getLocalPrincipal()
Возвращает принципал, который был отправлен серверу во время установления соединения.
Примечание: Подклассы должны переопределять этот метод. Если он не переопределён, по умолчанию он вернёт X500Principal сертификата конечного узла, отправленного на сервер, для наборов шифров, основанных на сертификатах X509, или вернёт null для наборов шифров, не основанных на сертификатах, таких как Kerberos.
- Возвращает:
- принципал, отправленный на сервер. Возвращает X500Principal сертификата конечного узла для наборов шифров X509 и KerberosPrincipal для наборов шифров Kerberos. Если принципал не был отправлен, возвращается null.
- Исключения:
-
IllegalStateException- если метод вызывается до установления соединения. - С:
- 1.5
- См. также:
-
getLocalCertificates(),getPeerPrincipal()
setDefaultHostnameVerifier
public static void setDefaultHostnameVerifier(HostnameVerifier v)
Устанавливает по умолчанию HostnameVerifier для новых экземпляров этого класса.
Если этот метод не вызывается, по умолчанию HostnameVerifier запрещает подключение.
- Параметры:
-
v- верификатор имени хоста по умолчанию - Исключения:
-
IllegalArgumentException- если параметрHostnameVerifierравен null. -
SecurityException- если существует менеджер безопасности и его методcheckPermissionне разрешаетSSLPermission("setHostnameVerifier") - См. также:
getDefaultHostnameVerifier()
getDefaultHostnameVerifier
public static HostnameVerifier getDefaultHostnameVerifier()
Получает по умолчанию HostnameVerifier для новых экземпляров этого класса.
- Возвращает:
- верификатор имени хоста по умолчанию
- См. также:
setDefaultHostnameVerifier(HostnameVerifier)
setHostnameVerifier
public void setHostnameVerifier(HostnameVerifier v)
Устанавливает HostnameVerifier для этого экземпляра.
Новые экземпляры этого класса наследуют по умолчанию статический верификатор имени хоста, установленный с помощью setDefaultHostnameVerifier. Вызовы этого метода заменяют HostnameVerifier этого объекта.
- Параметры:
-
v- верификатор имени хоста - Исключения:
-
IllegalArgumentException- если параметрHostnameVerifierравен null. - См. также:
-
getHostnameVerifier(),setDefaultHostnameVerifier(HostnameVerifier)
getHostnameVerifier
public HostnameVerifier getHostnameVerifier()
Получает установленный HostnameVerifier для этого экземпляра.
- Возвращает:
- верификатор имени хоста
- См. также:
-
setHostnameVerifier(HostnameVerifier),setDefaultHostnameVerifier(HostnameVerifier)
setDefaultSSLSocketFactory
public static void setDefaultSSLSocketFactory(SSLSocketFactory sf)
Устанавливает по умолчанию SSLSocketFactory для новых экземпляров этого класса.
Фабрики сокетов используются при создании сокетов для защищённых соединений HTTPS.
- Параметры:
-
sf- фабрика сокетов SSL по умолчанию - Исключения:
-
IllegalArgumentException- если параметр SSLSocketFactory равен null. -
SecurityException- если менеджер безопасности существует и его методcheckSetFactoryне позволяет указать фабрику сокетов. - См. также:
getDefaultSSLSocketFactory()
getDefaultSSLSocketFactory
public static SSLSocketFactory getDefaultSSLSocketFactory()
Получает по умолчанию статическую SSLSocketFactory для новых экземпляров этого класса.
Фабрики сокетов используются при создании сокетов для защищённых соединений HTTPS.
- Возвращает:
- фабрику сокетов по умолчанию
- См. также:
setDefaultSSLSocketFactory(SSLSocketFactory)
setSSLSocketFactory
public void setSSLSocketFactory(SSLSocketFactory sf)
Устанавливает SSLSocketFactory, используемую при создании сокетов для защищённых соединений HTTPS этим экземпляром.
Новые экземпляры этого класса наследуют по умолчанию статическую SSLSocketFactory, установленную с помощью setDefaultSSLSocketFactory. Вызовы этого метода заменяют SSLSocketFactory этого объекта.
- Параметры:
-
sf- фабрика сокетов SSL - Исключения:
-
IllegalArgumentException- если параметрSSLSocketFactoryравен null. -
SecurityException- если менеджер безопасности существует и его методcheckSetFactoryне разрешает указать фабрику сокетов. - См. также:
getSSLSocketFactory()
getSSLSocketFactory
public SSLSocketFactory getSSLSocketFactory()
Возвращает фабрику сокетов SSL для создания сокетов защищённых соединений HTTPS.
- Возвращает:
- фабрику сокетов
- См. также:
setSSLSocketFactory(SSLSocketFactory)
© 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.