| |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.net.ssl
类 HttpsURLConnection
java.lang.Object java.net.URLConnection java.net.HttpURLConnection javax.net.ssl.HttpsURLConnection
public abstract class HttpsURLConnection
- extends HttpURLConnection
HttpsURLConnection
扩展 HttpURLConnection
,支持各种特定于 https 功能。
有关 https 规范的更多详细信息,请参见 http://www.w3.org/pub/WWW/Protocols/ 和 RFC 2818。
此类使用 HostnameVerifier
和 SSLSocketFactory
。为这两个类都定义了默认实现。但是,可以根据每个类(静态的)或每个实例来替换该实现。所有新 HttpsURLConnection
实例在创建时将被分配“默认的”静态值,通过在连接
前调用每个实例适当的 set 方法可以重写这些值。
- 从以下版本开始:
- 1.4
字段摘要 | |
---|---|
protected HostnameVerifier | hostnameVerifier 此对象的 hostnameVerifier 。 |
从类 java.net.URLConnection 继承的字段 |
---|
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches |
构造方法摘要 | |
---|---|
protected | HttpsURLConnection(URL url) 使用指定的 URL 创建 HttpsURLConnection 。 |
方法摘要 | |
---|---|
abstract String | getCipherSuite() 返回在此连接上使用的密码套件。 |
static HostnameVerifier | getDefaultHostnameVerifier() 获取此类的新实例所继承的默认 HostnameVerifier 。 |
static SSLSocketFactory | getDefaultSSLSocketFactory() 获取此类的新实例所继承的默认静态 SSLSocketFactory 。 |
HostnameVerifier | getHostnameVerifier() 获取此实例适当的 HostnameVerifier 。 |
abstract Certificate[] | getLocalCertificates() 返回握手期间发送给服务器的证书。 |
Principal | getLocalPrincipal() 返回握手期间发送到服务器的主体。 |
Principal | getPeerPrincipal() 返回服务器的主体,它是作为定义会话的一部分而建立的。 |
abstract Certificate[] | getServerCertificates() 返回服务器的证书链,它是作为定义会话的一部分而建立的。 |
SSLSocketFactory | getSSLSocketFactory() 获取为安全 https URL 连接创建套接字时使用的 SSL 套接字工厂。 |
static void | setDefaultHostnameVerifier(HostnameVerifier v) 设置此类的新实例所继承的默认 HostnameVerifier 。 |
static void | setDefaultSSLSocketFactory(SSLSocketFactory sf) 设置此类的新实例所继承的默认 SSLSocketFactory 。 |
void | setHostnameVerifier(HostnameVerifier v) 设置此实例的 HostnameVerifier 。 |
void | setSSLSocketFactory(SSLSocketFactory sf) 设置当此实例为安全 https URL 连接创建套接字时使用的 SSLSocketFactory 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
hostnameVerifier
protected HostnameVerifier hostnameVerifier
- 此对象的
hostnameVerifier
。
构造方法详细信息 |
---|
HttpsURLConnection
protected HttpsURLConnection(URL url)
- 使用指定的 URL 创建
HttpsURLConnection
。- 参数:
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,对于非基于证书的密码套件(如 Kerberos),则抛出 SSLPeerUnverifiedException。
- 返回:
- 服务器的主体。返回基于 X509 的密码套件的终端实体证书的 X500Principal,以及 Kerberos 的密码套件的 KerberosPrincipal。
- 抛出:
SSLPeerUnverifiedException
- 如果没有验证同位体IllegalStateException
- 如果在连接建立前调用此方法。- 从以下版本开始:
- 1.5
- 另请参见:
getServerCertificates()
,getLocalPrincipal()
getLocalPrincipal
public Principal getLocalPrincipal()
- 返回握手期间发送到服务器的主体。
注:子类应重写此方法。如果没有重写此方法,则对于基于证书的密码套件,它将默认返回发送到服务器的终端实体证书的 X500Principal,对于非基于证书的密码套件(如 Kerberos),则返回 null。
- 返回:
- 发送到服务器的主体。返回基于 X509 的密码套件的终端实体证书的 X500Principal,以及 Kerberos 的密码套件的 KerberosPrincipal。如果没有发送任何主体,则返回 null。
- 抛出:
IllegalStateException
- 如果在连接建立前调用此方法。- 从以下版本开始:
- 1.5
- 另请参见:
getLocalCertificates()
,getPeerPrincipal()
setDefaultHostnameVerifier
public static void setDefaultHostnameVerifier(HostnameVerifier v)
- 设置此类的新实例所继承的默认
HostnameVerifier
。如果不调用此方法,则默认的
HostnameVerifier
假定连接不应该被允许。 - 参数:
v
- 默认的主机名校验器- 抛出:
IllegalArgumentException
- 如果HostnameVerifier
参数为 null。SecurityException
- 如果安全管理器存在并且其checkPermission
方法不允许SSLPermission("setHostnameVerifier")
- 另请参见:
getDefaultHostnameVerifier()