HttpsURLConnection 扩展了 HttpURLConnection 以支持 https 特定功能。
有关 https 规范的更多详细信息,请参阅 http://www.w3.org/pub/WWW/Protocols/ 和 RFC 2818 。
此类使用 HostnameVerifier 和 SSLSocketFactory 。这两个类都定义了默认实现。但是,可以在每个类(静态)或每个实例的基础上替换这些实现。所有新的 HttpsURLConnection 实例都将在实例创建时分配“默认”静态值,但可以通过在 connect ing 之前调用适当的每个实例设置方法来覆盖它们。
- 自从:
- 1.4
-
字段摘要
字段在类 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 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract String返回在此连接上使用的密码套件。static HostnameVerifier获取由此类的新实例继承的默认值HostnameVerifier。static SSLSocketFactory获取由此类的新实例继承的默认静态SSLSocketFactory。在此实例上获取HostnameVerifier。abstract Certificate[]返回握手期间发送到服务的证书。返回握手期间发送到服务的主体。返回作为定义会话的一部分而建立的服务主体。abstract Certificate[]返回作为定义会话的一部分建立的服务证书链。返回一个Optional,其中包含在此连接上使用的SSLSession。获取在为安全 https URL 连接创建套接字时要使用的 SSL 套接字工厂。static void设置由此类的新实例继承的默认值HostnameVerifier。static void设置由此类的新实例继承的默认值SSLSocketFactory。void为此实例设置HostnameVerifier。void设置在此实例为安全 https URL 连接创建套接字时要使用的SSLSocketFactory。在类 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
此对象的hostnameVerifier。
-
-
构造方法详细信息
-
HttpsURLConnection
使用指定的 URL 创建一个HttpsURLConnection。- 参数:
url- 网址
-
-
方法详情
-
getCipherSuite
返回在此连接上使用的密码套件。- 返回:
- 密码套件
- 抛出:
IllegalStateException- 如果在建立连接之前调用此方法。
-
getLocalCertificates
返回握手期间发送到服务的证书。注意:此方法仅在使用基于证书的密码套件时有用。
当多个证书可用于握手时,实现选择它认为可用的“最佳”证书链,并将其传输到另一端。此方法允许调用者知道实际发送了哪个证书链。
- 返回:
- 一个有序的证书数组,首先是客户自己的证书,然后是任何证书颁发机构。如果未发送任何证书,则返回 null。
- 抛出:
IllegalStateException- 如果在建立连接之前调用此方法。- 参见:
-
getServerCertificates
返回作为定义会话的一部分建立的服务证书链。注意:此方法只能在使用基于证书的密码套件时使用;将它与非基于证书的密码套件(例如 Kerberos)一起使用将抛出 SSLPeerUnverifiedException。
注意:返回的值可能不是有效的证书链,不应依赖于信任决策。
- 返回:
- 服务证书的有序数组,首先是对等方自己的证书,然后是任何证书颁发机构。
- 抛出:
SSLPeerUnverifiedException- 如果未验证对等方。IllegalStateException- 如果在建立连接之前调用此方法。- 参见:
-
getPeerPrincipal
返回作为定义会话的一部分而建立的服务主体。注意:子类应该重写这个方法。如果未被重写,它将默认为基于证书的密码套件返回服务终端实体证书的 X500Principal,或者为非基于证书的密码套件(例如 Kerberos)抛出 SSLPeerUnverifiedException。
- 返回:
- 服务的主体。返回基于 X509 的密码套件的终端实体证书的 X500Principal,以及 Kerberos 密码套件的 KerberosPrincipal。
- 抛出:
SSLPeerUnverifiedException- 如果未验证对等方IllegalStateException- 如果在建立连接之前调用此方法。- 自从:
- 1.5
- 参见:
-
getLocalPrincipal
返回握手期间发送到服务的主体。注意:子类应该重写这个方法。如果未被重写,它将默认返回发送到服务的基于证书的密码套件的终端实体证书的 X500Principal,或者返回 null 用于非基于证书的密码套件,例如 Kerberos。
- 返回:
- 主体发送到服务。返回基于 X509 的密码套件的终端实体证书的 X500Principal,以及 Kerberos 密码套件的 KerberosPrincipal。如果没有发送委托人,则返回 null。
- 抛出:
IllegalStateException- 如果在建立连接之前调用此方法。- 自从:
- 1.5
- 参见:
-
setDefaultHostnameVerifier
设置由此类的新实例继承的默认值HostnameVerifier。如果未调用此方法,则默认
HostnameVerifier假定不应允许连接。- 参数:
v- 默认主机名验证器- 抛出:
IllegalArgumentException- 如果HostnameVerifier参数为空。SecurityException- 如果安全管理器存在且其checkPermission方法不允许SSLPermission("setHostnameVerifier")- 参见:
-
getDefaultHostnameVerifier
获取由此类的新实例继承的默认值HostnameVerifier。- 返回:
- 默认主机名验证器
- 参见:
-
setHostnameVerifier
为此实例设置HostnameVerifier。此类的新实例继承由
setDefaultHostnameVerifier设置的默认静态主机名验证器。对此方法的调用将替换此对象的HostnameVerifier。- 参数:
v- 主机名验证器- 抛出:
IllegalArgumentException- 如果HostnameVerifier参数为空。- 参见:
-
getHostnameVerifier
在此实例上获取HostnameVerifier。- 返回:
- 主机名验证器
- 参见:
-
setDefaultSSLSocketFactory
设置由此类的新实例继承的默认值SSLSocketFactory。在为安全 https URL 连接创建套接字时使用套接字工厂。
- 参数:
sf- 默认的 SSL 套接字工厂- 抛出:
IllegalArgumentException- 如果 SSLSocketFactory 参数为空。SecurityException- 如果安全管理器存在并且其checkSetFactory方法不允许指定套接字工厂。- 参见:
-
getDefaultSSLSocketFactory
获取由此类的新实例继承的默认静态SSLSocketFactory。在为安全 https URL 连接创建套接字时使用套接字工厂。
- 返回:
-
默认
SSLSocketFactory - 参见:
-
setSSLSocketFactory
设置在此实例为安全 https URL 连接创建套接字时要使用的SSLSocketFactory。此类的新实例继承由
setDefaultSSLSocketFactory设置的默认静态SSLSocketFactory。对此方法的调用将替换此对象的SSLSocketFactory。- 参数:
sf- SSL 套接字工厂- 抛出:
IllegalArgumentException- 如果SSLSocketFactory参数为空。SecurityException- 如果安全管理器存在并且其checkSetFactory方法不允许指定套接字工厂。- 参见:
-
getSSLSocketFactory
获取在为安全 https URL 连接创建套接字时要使用的 SSL 套接字工厂。- 返回:
SSLSocketFactory- 参见:
-
getSSLSession
- 实现要求:
-
为了兼容性,此方法的默认实现返回一个空的
Optional。子类应该使用适当的实现覆盖此方法,因为应用程序可能需要访问与 SSL 会话关联的其他参数。 - 返回:
-
一个
Optional包含在此连接上使用的SSLSession。 - 抛出:
IllegalStateException- 如果在建立连接之前调用此方法- 自从:
- 12
- 参见:
-