public abstract class HttpsURLConnection
extends HttpURLConnection
java.lang.Object | |||
↳ | java.net.URLConnection | ||
↳ | java.net.HttpURLConnection | ||
↳ | javax.net.ssl.HttpsURLConnection |
HttpsURLConnection
扩展了 HttpURLConnection
,支持https特定功能。
有关https规范的更多详细信息,请参阅 http://www.w3.org/pub/WWW/Protocols/和 RFC 2818 。
本课使用HostnameVerifier
和SSLSocketFactory
。 为这两个类定义了默认实现。 但是,可以在每个类(静态)或每个实例的基础上替换实现。 所有新的HttpsURLConnection
实例将在实例创建时被分配“默认”静态值,但是它们可以通过在connect
之前调用适当的每个实例设置方法来重写。
Inherited constants |
---|
From class java.net.HttpURLConnection
|
Fields |
|
---|---|
protected HostnameVerifier |
hostnameVerifier 该对象的 |
Inherited fields |
---|
From class java.net.HttpURLConnection
|
From class java.net.URLConnection
|
Protected constructors |
|
---|---|
HttpsURLConnection(URL url) 使用指定的URL创建一个 |
Public methods |
|
---|---|
abstract String |
getCipherSuite() 返回此连接上使用的密码套件。 |
static HostnameVerifier |
getDefaultHostnameVerifier() 获取由此类的新实例继承的默认 |
static SSLSocketFactory |
getDefaultSSLSocketFactory() 获取由此类的新实例继承的默认静态 |
HostnameVerifier |
getHostnameVerifier() 在此实例中获取 |
abstract Certificate[] |
getLocalCertificates() 返回握手期间发送给服务器的证书。 |
Principal |
getLocalPrincipal() 返回握手期间发送给服务器的主体。 |
Principal |
getPeerPrincipal() 返回作为定义会话一部分而建立的服务器主体。 |
SSLSocketFactory |
getSSLSocketFactory() 在为安全https URL连接创建套接字时获取SSL套接字工厂。 |
abstract Certificate[] |
getServerCertificates() 返回作为定义会话一部分而建立的服务器证书链。 |
static void |
setDefaultHostnameVerifier(HostnameVerifier v) 设置由此类的新实例继承的默认 |
static void |
setDefaultSSLSocketFactory(SSLSocketFactory sf) 设置 |
void |
setHostnameVerifier(HostnameVerifier v) 为此实例设置 |
void |
setSSLSocketFactory(SSLSocketFactory sf) 设置当此实例为安全https URL连接创建套接字时使用的 |
Inherited methods |
|
---|---|
From class java.net.HttpURLConnection
|
|
From class java.net.URLConnection
|
|
From class java.lang.Object
|
HttpsURLConnection (URL url)
使用指定的URL创建一个 HttpsURLConnection
。
Parameters | |
---|---|
url |
URL : the URL |
String getCipherSuite ()
返回此连接上使用的密码套件。
Returns | |
---|---|
String |
the cipher suite |
Throws | |
---|---|
IllegalStateException |
if this method is called before the connection has been established. |
HostnameVerifier getDefaultHostnameVerifier ()
获取由此类的新实例继承的默认 HostnameVerifier
。
Returns | |
---|---|
HostnameVerifier |
the default host name verifier |
SSLSocketFactory getDefaultSSLSocketFactory ()
获取由此类的新实例继承的默认静态 SSLSocketFactory
。
为安全的https URL连接创建套接字时使用套接字工厂。
Returns | |
---|---|
SSLSocketFactory |
the default SSLSocketFactory |
HostnameVerifier getHostnameVerifier ()
在此实例上获取 HostnameVerifier
。
Returns | |
---|---|
HostnameVerifier |
the host name verifier |
Certificate[] getLocalCertificates ()
返回握手期间发送给服务器的证书。
注意:仅当使用基于证书的密码套件时,此方法才有用。
当多个证书可用于握手时,实现选择它认为可用的“最佳”证书链,并将其传递给另一方。 该方法允许调用者知道实际发送了哪个证书链。
Returns | |
---|---|
Certificate[] |
an ordered array of certificates, with the client's own certificate first followed by any certificate authorities. If no certificates were sent, then null is returned. |
Throws | |
---|---|
IllegalStateException |
if this method is called before the connection has been established. |
也可以看看:
Principal getLocalPrincipal ()
返回握手期间发送给服务器的主体。
注意:子类应该重写此方法。 如果未被覆盖,它将默认返回已发送到服务器的最终实体证书的X500Principal以获得基于证书的密码组,或者对于基于非证书的密码组(例如Kerberos)返回null。
Returns | |
---|---|
Principal |
the principal sent to the server. Returns an X500Principal of the end-entity certificate for X509-based cipher suites, and KerberosPrincipal for Kerberos cipher suites. If no principal was sent, then null is returned. |
Throws | |
---|---|
IllegalStateException |
if this method is called before the connection has been established. |
Principal getPeerPrincipal ()
返回作为定义会话一部分而建立的服务器主体。
注意:子类应该重写此方法。 如果不重写,它将默认返回基于证书的密码组的服务器的最终实体证书的X500Principal,或者为基于非证书的密码组(例如Kerberos)引发SSLPeerUnverifiedException。
Returns | |
---|---|
Principal |
the server's principal. Returns an X500Principal of the end-entity certiticate for X509-based cipher suites, and KerberosPrincipal for Kerberos cipher suites. |
Throws | |
---|---|
SSLPeerUnverifiedException |
if the peer was not verified |
IllegalStateException |
if this method is called before the connection has been established. |
SSLSocketFactory getSSLSocketFactory ()
在为安全https URL连接创建套接字时获取SSL套接字工厂。
Returns | |
---|---|
SSLSocketFactory |
the SSLSocketFactory |
Certificate[] getServerCertificates ()
返回作为定义会话一部分而建立的服务器证书链。
注意:只有在使用基于证书的密码套件时才能使用此方法; 将它与非基于证书的密码套件(如Kerberos)一起使用时,将引发SSLPeerUnverifiedException。
Returns | |
---|---|
Certificate[] |
an ordered array of server certificates, with the peer's own certificate first followed by any certificate authorities. |
Throws | |
---|---|
SSLPeerUnverifiedException |
if the peer is not verified. |
IllegalStateException |
if this method is called before the connection has been established. |
也可以看看:
void setDefaultHostnameVerifier (HostnameVerifier v)
设置由此类的新实例继承的默认 HostnameVerifier
。
如果未调用此方法,则默认 HostnameVerifier
假定不允许连接。
Parameters | |
---|---|
v |
HostnameVerifier : the default host name verifier |
Throws | |
---|---|
IllegalArgumentException |
if the HostnameVerifier parameter is null. |
SecurityException |
if a security manager exists and its checkPermission method does not allow SSLPermission("setHostnameVerifier") |
也可以看看:
void setDefaultSSLSocketFactory (SSLSocketFactory sf)
设置 SSLSocketFactory
的新实例继承的默认 SSLSocketFactory
。
为安全的https URL连接创建套接字时使用套接字工厂。
Parameters | |
---|---|
sf |
SSLSocketFactory : the default SSL socket factory |
Throws | |
---|---|
IllegalArgumentException |
if the SSLSocketFactory parameter is null. |
SecurityException |
if a security manager exists and its checkSetFactory method does not allow a socket factory to be specified. |
也可以看看:
void setHostnameVerifier (HostnameVerifier v)
为此实例设置 HostnameVerifier
。
此类的新实例继承由setDefaultHostnameVerifier
设置的默认静态主机名验证程序。 调用此方法替换此对象的HostnameVerifier
。
Parameters | |
---|---|
v |
HostnameVerifier : the host name verifier |
Throws | |
---|---|
IllegalArgumentException |
if the HostnameVerifier parameter is null. |
void setSSLSocketFactory (SSLSocketFactory sf)
设置当此实例为安全https URL连接创建套接字时使用的 SSLSocketFactory
。
此类的新实例继承由SSLSocketFactory
设置的默认静态setDefaultSSLSocketFactory
。 调用此方法替换此对象的SSLSocketFactory
。
Parameters | |
---|---|
sf |
SSLSocketFactory : the SSL socket factory |
Throws | |
---|---|
IllegalArgumentException |
if the SSLSocketFactory parameter is null. |
也可以看看: