Класс HttpsURLConnection
public abstract class HttpsURLConnection extends HttpURLConnection
HttpsURLConnection расширяет HttpURLConnection с поддержкой функций, специфичных для протокола HTTPS. Дополнительную информацию о спецификации HTTPS см. в http://www.w3.org/pub/WWW/Protocols/ и RFC 2818 .
Этот класс использует HostnameVerifier и SSLSocketFactory. Для обоих классов определены реализации по умолчанию. Однако реализации могут быть заменены на уровне класса (статически) или на уровне экземпляра. Все новые экземпляры HttpsURLConnection будут получать статические значения по умолчанию при создании, но их можно переопределить, вызвав соответствующие методы установки на уровне экземпляра до connect.
- С момента:
- 1.4
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected HostnameVerifier |
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. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String |
getCipherSuite() |
Возвращает используемый набор шифров в этом соединении. |
static HostnameVerifier |
getDefaultHostnameVerifier() |
Возвращает значение по умолчанию HostnameVerifier, унаследованное новыми экземплярами этого класса. |
static SSLSocketFactory |
getDefaultSSLSocketFactory() |
Возвращает значение по умолчанию SSLSocketFactory, унаследованное новыми экземплярами этого класса. |
HostnameVerifier |
getHostnameVerifier() |
Возвращает HostnameVerifier в этом экземпляре. |
abstract Certificate[] |
getLocalCertificates() |
Возвращает сертификат(ы), отправленный серверу во время рукопожатия. |
Principal |
getLocalPrincipal() |
Возвращает субъект, отправленный серверу во время рукопожатия. |
Principal |
getPeerPrincipal() |
Возвращает субъект сервера, установленный в ходе определения сеанса. |
abstract Certificate[] |
getServerCertificates() |
Возвращает цепочку сертификатов сервера, установленную в ходе определения сеанса. |
Optional<SSLSession> |
getSSLSession() |
Возвращает Optional содержащий SSLSession в этом соединении. |
SSLSocketFactory |
getSSLSocketFactory() |
Возвращает фабрику сокетов SSL, которая будет использоваться при создании сокетов для безопасных подключений HTTPS URL. |
static void |
setDefaultHostnameVerifier |
Устанавливает значение по умолчанию HostnameVerifier, унаследованное новым экземпляром этого класса. |
static void |
setDefaultSSLSocketFactory |
Устанавливает значение по умолчанию SSLSocketFactory, унаследованное новыми экземплярами этого класса. |
void |
setHostnameVerifier |
Устанавливает HostnameVerifier для этого экземпляра. |
void |
setSSLSocketFactory |
Устанавливает SSLSocketFactory, который будет использоваться при создании сокетов для безопасных подключений HTTPS URL в этом экземпляре. |
Методы, объявленные в классе java.net.HttpURLConnection
disconnect, getErrorStream, getFollowRedirects, getHeaderField, getHeaderFieldKey, getInstanceFollowRedirects, getPermission, getRequestMethod, getResponseCode, getResponseMessage, setAuthenticator, setChunkedStreamingMode, setFixedLengthStreamingMode, setFixedLengthStreamingMode, setFollowRedirects, setInstanceFollowRedirects, setRequestMethod, 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
Подробное описание полей
hostnameVerifier
protected HostnameVerifier hostnameVerifier
Подробное описание конструкторов
HttpsURLConnection
protected HttpsURLConnection(URL url)
- Параметры:
-
url- URL
Подробное описание методов
getCipherSuite
public abstract String getCipherSuite()
- Возвращает:
- используемый шифр
- Исключения:
-
IllegalStateException- если этот метод вызван до установления соединения.
getLocalCertificates
public abstract Certificate[] getLocalCertificates()
Примечание: Этот метод полезен только при использовании сертификатов-шифров.
Когда для использования в рукопожатии доступно несколько сертификатов, реализация выбирает то, что считает "лучшей" цепочкой сертификатов, доступной, и передаёт её на другую сторону. Этот метод позволяет вызывающему коду узнать, какая цепочка сертификатов была фактически отправлена.
- Возвращает:
- отсортированный массив сертификатов, начинающийся с собственного сертификата клиента, за которым следуют все сертификаты удостоверяющих центров. Если сертификаты не были отправлены, возвращается null.
- Исключения:
-
IllegalStateException- если этот метод вызван до установления соединения. - См. также:
getServerCertificates
public abstract Certificate[] getServerCertificates() throws SSLPeerUnverifiedException
Примечание: Этот метод может использоваться только при использовании шифров на основе сертификатов; его использование с шифрами, не основанными на сертификатах, такими как Kerberos, приведёт к сбрасыванию SSLPeerUnverifiedException.
Примечание: Возвращаемое значение может не быть действительной цепочкой сертификатов и не должно использоваться для принятия решений о доверии.
- Возвращает:
- отсортированный массив сертификатов сервера, начинающийся с сертификата партнёра, за которым следуют все сертификаты удостоверяющих центров.
- Исключения:
-
SSLPeerUnverifiedException- если партнёр не проверен. -
IllegalStateException- если этот метод вызван до установления соединения. - См. также:
getPeerPrincipal
public Principal getPeerPrincipal() throws SSLPeerUnverifiedException
Примечание: Подклассы должны переопределять этот метод. Если он не переопределён, он по умолчанию вернёт X500Principal сертификата конечной сущности сервера для шифров на основе сертификатов или выбросит SSLPeerUnverifiedException для шифров, не основанных на сертификатах, таких как Kerberos.
- Возвращает:
- принципал сервера. Возвращает X500Principal конечного сертификата для шифров на основе X509, и KerberosPrincipal для шифров Kerberos.
- Исключения:
-
SSLPeerUnverifiedException- если партнёр не был проверен. -
IllegalStateException- если этот метод вызван до установления соединения. - Начиная с:
- 1.5
- См. также:
getLocalPrincipal
public Principal getLocalPrincipal()
Примечание: Подклассы должны переопределять этот метод. Если он не переопределён, он по умолчанию вернёт X500Principal сертификата конечной сущности, отправленного серверу для шифров на основе сертификатов, или вернёт null для шифров, не основанных на сертификатах, таких как Kerberos.
- Возвращает:
- принципал, отправленный серверу. Возвращает X500Principal конечного сертификата для шифров на основе X509, и KerberosPrincipal для шифров Kerberos. Если принципал не был отправлен, возвращается null.
- Исключения:
-
IllegalStateException- если этот метод вызван до установления соединения. - Начиная с:
- 1.5
- См. также:
setDefaultHostnameVerifier
public static void setDefaultHostnameVerifier(HostnameVerifier v)
Если этот метод не вызван, по умолчанию проверка имени хоста предполагает, что соединение не допускается.
- Параметры:
-
v- проверка имени хоста по умолчанию - Исключения:
-
IllegalArgumentException- если параметрHostnameVerifierравен null. -
SecurityException- если существует менеджер безопасности, и его методcheckPermissionне разрешаетSSLPermission("setHostnameVerifier") - См. также:
getDefaultHostnameVerifier
public static HostnameVerifier getDefaultHostnameVerifier()
- Возвращает:
- проверка имени хоста по умолчанию
- См. также:
setHostnameVerifier
public void setHostnameVerifier(HostnameVerifier v)
Новые экземпляры этого класса наследуют статическую проверку имени хоста по умолчанию, установленную методом setDefaultHostnameVerifier. Вызовы этого метода заменяют проверку имени хоста этого объекта.
- Параметры:
-
v- проверка имени хоста - Исключения:
-
IllegalArgumentException- если параметрHostnameVerifierравен null. - См. также:
getHostnameVerifier
public HostnameVerifier getHostnameVerifier()
- Возвращает:
- проверка имени хоста
- См. также:
setDefaultSSLSocketFactory
public static void setDefaultSSLSocketFactory(SSLSocketFactory sf)
Фабрики сокетов используются при создании сокетов для защищённых соединений https URL.
- Параметры:
-
sf- фабрика SSL-сокет по умолчанию - Исключения:
-
IllegalArgumentException- если параметр SSLSocketFactory равен null. -
SecurityException- если существует менеджер безопасности, и его методcheckSetFactoryне разрешает указать фабрику сокета. - См. также:
getDefaultSSLSocketFactory
public static SSLSocketFactory getDefaultSSLSocketFactory()
Фабрики сокетов используются при создании сокетов для защищённых соединений https URL.
- Возвращает:
- фабрика сокета по умолчанию
- См. также:
setSSLSocketFactory
public void setSSLSocketFactory(SSLSocketFactory sf)
Новые экземпляры этого класса наследуют статическую фабрику SSL-сокет по умолчанию, установленную методом setDefaultSSLSocketFactory. Вызовы этого метода заменяют фабрику SSL-сокет этого объекта.
- Параметры:
-
sf- фабрика SSL-сокет - Исключения:
-
IllegalArgumentException- если параметрSSLSocketFactoryравен null. -
SecurityException- если существует менеджер безопасности, и его методcheckSetFactoryне разрешает указать фабрику сокета. - См. также:
getSSLSocketFactory
public SSLSocketFactory getSSLSocketFactory()
- Возвращает:
- фабрика SSL-сокет
- См. также:
getSSLSession
public Optional<SSLSession> getSSLSession()
Optional, содержащий используемую SSLSession в этом соединении. Возвращает пустой Optional если основная реализация не поддерживает этот метод.- Требования к реализации:
- Для совместимости, по умолчанию этот метод возвращает пустой
Optional. Подклассы должны переопределить этот метод соответствующей реализацией, поскольку приложение может потребоваться получить доступ к дополнительным параметрам, связанным с сессией SSL. - Возвращает:
Optional, содержащий используемуюSSLSessionв этом соединении.- Исключение:
-
IllegalStateException- если этот метод вызван до установления соединения - С:
- 12
- См. также:
© 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/javax/net/ssl/HttpsURLConnection.html