public abstract class HttpsURLConnection extends HttpURLConnection
HttpsURLConnection extends
HttpURLConnection with support for https-specific features.
See http://www.w3.org/pub/WWW/Protocols/ and RFC 2818 for more details on the https specification.
This class uses HostnameVerifier and SSLSocketFactory. There are default implementations defined for both classes. However, the implementations can be replaced on a per-class (static) or per-instance basis. All new HttpsURLConnections instances will be assigned the "default" static values at instance creation, but they can be overriden by calling the appropriate per-instance set method(s) before connecting.
| Modifier and Type | Field and Description |
|---|---|
protected HostnameVerifier |
hostnameVerifier
The
hostnameVerifier for this object.
|
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, responseMessageallowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches| Modifier | Constructor and Description |
|---|---|
protected |
HttpsURLConnection(URL
Creates an
HttpsURLConnection using the URL specified.
|
| Modifier and Type | Method and Description |
|---|---|
abstract String |
getCipherSuite()
Returns the cipher suite in use on this connection.
|
static HostnameVerifier |
getDefaultHostnameVerifier()
Gets the default
HostnameVerifier that is inherited by new instances of this class.
|
static SSLSocketFactory |
getDefaultSSLSocketFactory()
Gets the default static
SSLSocketFactory that is inherited by new instances of this class.
|
HostnameVerifier |
getHostnameVerifier()
Gets the
HostnameVerifier in place on this instance.
|
abstract Certificate |
getLocalCertificates()
Returns the certificate(s) that were sent to the server during handshaking.
|
Principal |
getLocalPrincipal()
Returns the principal that was sent to the server during handshaking.
|
Principal |
getPeerPrincipal()
Returns the server's principal which was established as part of defining the session.
|
abstract Certificate |
getServerCertificates()
Returns the server's certificate chain which was established as part of defining the session.
|
SSLSocketFactory |
getSSLSocketFactory()
Gets the SSL socket factory to be used when creating sockets for secure https URL connections.
|
static void |
setDefaultHostnameVerifier(HostnameVerifier
Sets the default
HostnameVerifier inherited by a new instance of this class.
|
static void |
setDefaultSSLSocketFactory(SSLSocketFactory
Sets the default
SSLSocketFactory inherited by new instances of this class.
|
void |
setHostnameVerifier(HostnameVerifier
Sets the
HostnameVerifier for this instance.
|
void |
setSSLSocketFactory(SSLSocketFactory
Sets the
SSLSocketFactory to be used when this instance creates sockets for secure https URL connections.
|
disconnect, getErrorStream, getFollowRedirects, getHeaderField, getHeaderFieldDate, getHeaderFieldKey, getInstanceFollowRedirects, getPermission, getRequestMethod, getResponseCode, getResponseMessage, setChunkedStreamingMode, setFixedLengthStreamingMode, setFixedLengthStreamingMode, setFollowRedirects, setInstanceFollowRedirects, setRequestMethod, usingProxyaddRequestProperty, 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, toStringprotected HostnameVerifierhostnameVerifier
hostnameVerifier for this object.
protected HttpsURLConnection(URLurl)
HttpsURLConnection using the URL specified.
url - the URL
public abstract StringgetCipherSuite()
IllegalStateException - if this method is called before the connection has been established.
public abstract Certificate[] getLocalCertificates()
Note: This method is useful only when using certificate-based cipher suites.
When multiple certificates are available for use in a handshake, the implementation chooses what it considers the "best" certificate chain available, and transmits that to the other side. This method allows the caller to know which certificate chain was actually sent.
IllegalStateException - if this method is called before the connection has been established.
getLocalPrincipal()
public abstract Certificate[] getServerCertificates() throws SSLPeerUnverifiedException
Note: This method can be used only when using certificate-based cipher suites; using it with non-certificate-based cipher suites, such as Kerberos, will throw an SSLPeerUnverifiedException.
SSLPeerUnverifiedException - if the peer is not verified.
IllegalStateException - if this method is called before the connection has been established.
getPeerPrincipal()
public PrincipalgetPeerPrincipal() throws SSLPeerUnverifiedException
Note: Subclasses should override this method. If not overridden, it will default to returning the X500Principal of the server's end-entity certificate for certificate-based ciphersuites, or throw an SSLPeerUnverifiedException for non-certificate based ciphersuites, such as Kerberos.
SSLPeerUnverifiedException - if the peer was not verified
IllegalStateException - if this method is called before the connection has been established.
getServerCertificates(),
getLocalPrincipal()
public PrincipalgetLocalPrincipal()
Note: Subclasses should override this method. If not overridden, it will default to returning the X500Principal of the end-entity certificate that was sent to the server for certificate-based ciphersuites or, return null for non-certificate based ciphersuites, such as Kerberos.
IllegalStateException - if this method is called before the connection has been established.
getLocalCertificates(),
getPeerPrincipal()
public static void setDefaultHostnameVerifier(HostnameVerifierv)
HostnameVerifier inherited by a new instance of this class.
If this method is not called, the default HostnameVerifier assumes the connection should not be permitted.
v - the default host name verifier
IllegalArgumentException - if the
HostnameVerifier parameter is null.
SecurityException - if a security manager exists and its
checkPermission method does not allow
SSLPermission("setHostnameVerifier")
getDefaultHostnameVerifier()
public static HostnameVerifiergetDefaultHostnameVerifier()
HostnameVerifier that is inherited by new instances of this class.
setDefaultHostnameVerifier(HostnameVerifier)
public void setHostnameVerifier(HostnameVerifierv)
HostnameVerifier for this instance.
New instances of this class inherit the default static hostname verifier set by setDefaultHostnameVerifier. Calls to this method replace this object's HostnameVerifier.
v - the host name verifier
IllegalArgumentException - if the
HostnameVerifier parameter is null.
getHostnameVerifier(),
setDefaultHostnameVerifier(HostnameVerifier)
public HostnameVerifiergetHostnameVerifier()
HostnameVerifier in place on this instance.
setHostnameVerifier(HostnameVerifier),
setDefaultHostnameVerifier(HostnameVerifier)
public static void setDefaultSSLSocketFactory(SSLSocketFactorysf)
SSLSocketFactory inherited by new instances of this class.
The socket factories are used when creating sockets for secure https URL connections.
sf - the default SSL socket factory
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.
getDefaultSSLSocketFactory()
public static SSLSocketFactorygetDefaultSSLSocketFactory()
SSLSocketFactory that is inherited by new instances of this class.
The socket factories are used when creating sockets for secure https URL connections.
SSLSocketFactory
setDefaultSSLSocketFactory(SSLSocketFactory)
public void setSSLSocketFactory(SSLSocketFactorysf)
SSLSocketFactory to be used when this instance creates sockets for secure https URL connections.
New instances of this class inherit the default static SSLSocketFactory set by setDefaultSSLSocketFactory. Calls to this method replace this object's SSLSocketFactory.
sf - the SSL socket factory
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.
getSSLSocketFactory()
public SSLSocketFactorygetSSLSocketFactory()
SSLSocketFactory
setSSLSocketFactory(SSLSocketFactory)