クラスHttpsURLConnection
HttpsURLConnectionは、HttpURLConnectionの拡張クラスで、HTTPS固有の機能を使用できます。
HTTPS仕様の詳細は、http://www.w3.org/pub/WWW/Protocols/およびRFC 2818を参照してください。
このクラスでは、HostnameVerifierとSSLSocketFactoryを使用します。 どちらのクラスにも、デフォルトの実装が定義されています。 これらの実装は、クラスごと(static)またはインスタンスごとに置き換えることもできます。 すべての新規HttpsURLConnectionインスタンスには、インスタンスの作成時に"default"の静的値が割り当てられますが、connectの前に適切なインスタンスごとのsetメソッドを呼び出すことによってオーバーライドできます。
- 導入されたバージョン:
- 1.4
-
フィールドのサマリー
フィールドクラスで宣言されたフィールド 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修飾子と型フィールド説明protected int出力時にチャンク・エンコーディング・ストリーミング・モードを使用する場合のチャンク長。protected int固定長ストリーミング・モードを使用する場合の固定コンテンツ長。protected long固定長ストリーミング・モードを使用する場合の固定コンテンツ長。static final intHTTP Status-Code 202: 受け入れられました。static final intHTTP Status-Code 502: 不正なゲートウェイ。static final intHTTP Status-Code 405: メソッドが許可されていません。static final intHTTP Status-Code 400: 不正な要求。static final intHTTP Status-Code 408: 要求がタイム・アウトしました。static final intHTTP Status-Code 409: 衝突しています。static final intHTTP Status-Code 201: 作成されました。static final intHTTP Status-Code 413: 要求のエンティティが大きすぎます。static final intHTTP Status-Code 403: 禁止されています。static final intHTTP Status-Code 504: ゲートウェイがタイム・アウトしました。static final intHTTP Status-Code 410: 存在しません。static final intHTTP Status-Code 500: 内部サーバー・エラー。static final intHTTP Status-Code 411: 長さが必要です。static final intHTTP Status-Code 301: 永続的に移動されました。static final intHTTP Status-Code 302: 一時的なリダイレクト。static final intHTTP Status-Code 300: 複数の選択肢があります。static final intHTTP Status-Code 204: コンテンツがありません。static final intHTTP Status-Code 406: 受け入れられません。static final intHTTP Status-Code 203: 信頼できない情報です。static final intHTTP Status-Code 404: 見つかりません。static final intHTTP Status-Code 501: 実装されていません。static final intHTTP Status-Code 304: 変更されていません。static final intHTTP Status-Code 200: OKです。static final intHTTP Status-Code 206: 部分的なコンテンツ。static final intHTTP Status-Code 402: 支払いの必要があります。static final intHTTP Status-Code 412: 前提条件が満たされていません。static final intHTTP Status-Code 407: プロキシ認証が必要です。static final intHTTP Status-Code 414: 要求のURIが大きすぎます。static final intHTTP Status-Code 205: コンテンツをリセットします。static final intHTTP Status-Code 303: ほかを参照してください。static final int非推奨。誤植され、存在すべきではなかった。static final intHTTP Status-Code 401: 承認されていません。static final intHTTP Status-Code 503: サービスが使用不可能です。static final intHTTP Status-Code 415: サポートされていないメディア・タイプです。static final intHTTP Status-Code 305: プロキシを使用します。static final intHTTP Status-Code 505: サポートされていないHTTPバージョンです。protected booleantrueの場合、プロトコルは自動的にリダイレクトに従います。protected StringHTTPメソッド(GET、POST、PUTなど)です。protected int3桁のHTTPステータス・コードを表すintです。protected StringHTTP応答メッセージです。クラスで宣言されたフィールド URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches修飾子と型フィールド説明protected booleantrueの場合、このURLは、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。protected booleanfalseの場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。protected booleanこの変数は、setDoInputメソッドによって設定されています。protected booleanこの変数は、setDoOutputメソッドによって設定されています。protected long一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。protected URLURLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。protected booleantrueの場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract Stringこの接続で使用されている暗号化方式群を返します。static HostnameVerifierこのクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifierを取得します。static SSLSocketFactoryこのクラスの新しいインスタンスによって継承されるデフォルトのstaticSSLSocketFactoryを取得します。このインスタンスで設定されているHostnameVerifierを取得します。abstract Certificate[]ハンドシェーク中にサーバーに送信された証明書を返します。ハンドシェーク中にサーバーに送信された主体を返します。セッションを定義するときに設定された、サーバーの主体を返します。abstract Certificate[]セッションを定義するときに設定された、サーバーの証明書チェーンを返します。この接続で使用中のSSLSessionを含むOptionalを返します。セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用される、SSLソケット・ファクトリを取得します。static voidこのクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifierを設定します。static voidこのクラスの新しいインスタンスによって継承されるデフォルトのSSLSocketFactoryを設定します。voidこのインスタンスのHostnameVerifierを設定します。voidこのインスタンスがセキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されるSSLSocketFactoryを設定します。クラスで宣言されたメソッド HttpURLConnection
disconnect, getErrorStream, getFollowRedirects, getHeaderField, getHeaderFieldKey, getInstanceFollowRedirects, getPermission, getRequestMethod, getResponseCode, getResponseMessage, setAuthenticator, setChunkedStreamingMode, setFixedLengthStreamingMode, setFixedLengthStreamingMode, setFollowRedirects, setInstanceFollowRedirects, setRequestMethod, usingProxy修飾子と型メソッド説明abstract voidサーバーへの要求が近い将来発生しそうにないことを示します。接続が失敗したが、それにもかかわらずサーバーから有用なデータを送信されてきた場合に、エラー・ストリームを返します。static booleanHTTPリダイレクト(3xx)に自動的に従うかどうかを示すbooleanを返します。getHeaderField(int n) n番目のヘッダー・フィールドの値を返します。getHeaderFieldKey(int n) n番目のヘッダー・フィールドのキーを返します。booleanこのHttpURLConnectionのinstanceFollowRedirectsフィールドの値を返します。削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。セキュリティ・マネージャがサポートされなくなったため、リソースへのアクセスの制御に権限を使用できなくなります。要求メソッドを取得します。intHTTP応答メッセージからステータス・コードを取得します。サーバーから応答コードとともにHTTP応答メッセージが返された場合、そのメッセージを取得します。voidこのHttpURLConnectionのHTTPプロトコルで認証がリクエストされたときに使用するAuthenticatorを供給します。voidsetChunkedStreamingMode(int chunklen) このメソッドを使用すれば、コンテンツ長があらかじめわかっていない場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にできます。voidsetFixedLengthStreamingMode(int contentLength) このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にすることができます。voidsetFixedLengthStreamingMode(long contentLength) このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にすることができます。static voidsetFollowRedirects(boolean set) HTTPリダイレクト(応答コード3xxの要求)に、このクラスが自動的に従うべきかどうかを設定します。voidsetInstanceFollowRedirects(boolean followRedirects) HTTPリダイレクト(応答コード3xxの要求)を、このHttpURLConnectionインスタンスで自動的に従うかどうかを設定します。voidsetRequestMethod(String method) URL要求のメソッドを次のどれかに設定します。GET POST HEAD OPTIONS PUT DELETE TRACEのうち、どれが有効であるかはプロトコルの制限によって決まります。abstract boolean接続でプロキシを使用するかどうかを表します。クラスで宣言されたメソッド 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修飾子と型メソッド説明voidaddRequestProperty(String key, String value) キーと値のペアで指定された一般要求プロパティを追加します。abstract voidconnect()このURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。booleanこのオブジェクトのallowUserInteractionフィールドの値を返します。int接続タイム・アウトの設定を返します。このURL接続のコンテンツを取得します。getContent(Class<?>[] classes) このURL接続のコンテンツを取得します。content-encodingヘッダー・フィールドの値を返します。intcontent-lengthヘッダー・フィールドの値を返します。longcontent-lengthヘッダー・フィールドの値をlong型として返します。content-typeヘッダー・フィールドの値を返します。longgetDate()dateヘッダー・フィールドの値を返します。static booleanallowUserInteractionフィールドのデフォルト値を返します。static String非推奨。URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のgetRequestPropertyメソッドを使用する必要があります。booleanURLConnectionのuseCachesフラグのデフォルト値を返します。static booleangetDefaultUseCaches(String protocol) 指定されたプロトコルのuseCachesフラグのデフォルト値を返します。booleanこのURLConnectionのdoInputフラグの値を返します。booleanこのURLConnectionのdoOutputフラグの値を返します。longexpiresヘッダー・フィールドの値を返します。static FileNameMapデータ・ファイルからファイル名マップ(mimetable)をロードします。getHeaderField(String name) 指定されたヘッダー・フィールドの値を返します。longgetHeaderFieldDate(String name, long defaultValue) 指定されたフィールドを日付として構文解析した値を返します。intgetHeaderFieldInt(String name, int defaultValue) 指定されたフィールドを数値として構文解析した値を返します。longgetHeaderFieldLong(String name, long defaultValue) 指定されたフィールドを数値として構文解析した値を返します。ヘッダー・フィールドの変更不可能なマップを返します。longこのオブジェクトのifModifiedSinceフィールドの値を返します。この接続からの入力を受け取る入力ストリームを返します。longlast-modifiedヘッダー・フィールドの値を返します。この接続に書込みを行う出力ストリームを返します。int読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。この接続の一般要求プロパティの変更不可能なマップを返します。getRequestProperty(String key) この接続の指定された一般要求プロパティの値を返します。getURL()このURLConnectionのURLフィールドの値を返します。booleanこのURLConnectionのuseCachesフィールドの値を返します。static StringguessContentTypeFromName(String fname) URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。static String入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。voidsetAllowUserInteraction(boolean allowuserinteraction) このURLConnectionのallowUserInteractionフィールドの値を設定します。voidsetConnectTimeout(int timeout) このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。static voidアプリケーションのContentHandlerFactoryを設定します。static voidsetDefaultAllowUserInteraction(boolean defaultallowuserinteraction) 将来に作成されるすべてのURLConnectionオブジェクトのallowUserInteractionフィールドについて、デフォルト値を指定された値に設定します。static voidsetDefaultRequestProperty(String key, String value) 非推奨。URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のsetRequestPropertyメソッドを使用する必要があります。voidsetDefaultUseCaches(boolean defaultusecaches) useCachesフィールドのデフォルト値を、指定された値に設定します。static voidsetDefaultUseCaches(String protocol, boolean defaultVal) 指定されたプロトコルのuseCachesフィールドのデフォルト値を、指定された値に設定します。voidsetDoInput(boolean doinput) このURLConnectionのdoInputフィールドの値を指定された値に設定します。voidsetDoOutput(boolean dooutput) このURLConnectionのdoOutputフィールドの値を指定された値に設定します。static voidFileNameMapを設定します。voidsetIfModifiedSince(long ifmodifiedsince) このURLConnectionのifModifiedSinceフィールドの値を指定された値に設定します。voidsetReadTimeout(int timeout) 読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。voidsetRequestProperty(String key, String value) 一般要求プロパティを設定します。voidsetUseCaches(boolean usecaches) このURLConnectionのuseCachesフィールドの値を指定された値に設定します。toString()このURL接続のString表現を返します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
フィールド詳細
-
hostnameVerifier
protected HostnameVerifier hostnameVerifierこのオブジェクトのhostnameVerifier。
-
-
コンストラクタの詳細
-
HttpsURLConnection
-
-
メソッドの詳細
-
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が返され、Kerberosなどの証明書ベースでない暗号化方式群の場合はSSLPeerUnverifiedExceptionがスローされます。
- 戻り値:
- サーバーの主体。 X509ベースの暗号化方式群の場合はエンド・エンティティ証明書のX500Principalを返し、Kerberos暗号化方式群の場合はKerberosPrincipalを返す。
- スロー:
SSLPeerUnverifiedException- ピアが確認されなかった場合。IllegalStateException- 接続が確立される前にこのメソッドが呼び出された場合。- 導入されたバージョン:
- 1.5
- 関連項目:
-
getLocalPrincipal
public Principal getLocalPrincipal()ハンドシェーク中にサーバーに送信された主体を返します。ノート: サブクラスはこのメソッドをオーバーライドする必要があります。 オーバーライドされていない場合、このメソッドのデフォルトでは、証明書ベースの暗号化方式群の場合はサーバーに送信されたエンド・エンティティ証明書のX500Principalが返され、Kerberosなどの証明書ベースでない暗号化方式群の場合はnullが返されます。
- 戻り値:
- サーバーに送信された主体。 X509ベースの暗号化方式群の場合はエンド・エンティティ証明書のX500Principalを返し、Kerberos暗号化方式群の場合はKerberosPrincipalを返す。 主体が送信されなかった場合はnullが返される。
- スロー:
IllegalStateException- 接続が確立される前にこのメソッドが呼び出された場合。- 導入されたバージョン:
- 1.5
- 関連項目:
-
setDefaultHostnameVerifier
public static void setDefaultHostnameVerifier(HostnameVerifier v) このクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifierを設定します。このメソッドが呼び出されなかった場合、デフォルトの
HostnameVerifierはこの接続の確立が要求されなかったと見なします。- パラメータ:
v- デフォルトのHostnameVerifier- スロー:
IllegalArgumentException-HostnameVerifierパラメータがnullである場合。- 関連項目:
-
getDefaultHostnameVerifier
public static HostnameVerifier getDefaultHostnameVerifier()このクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifierを取得します。- 戻り値:
- デフォルトのHostnameVerifier
- 関連項目:
-
setHostnameVerifier
public void setHostnameVerifier(HostnameVerifier v) このインスタンスのHostnameVerifierを設定します。このクラスの新しいインスタンスは、
setDefaultHostnameVerifierによって設定されたデフォルトのstatic HostnameVerifierを継承します。 このメソッドを呼び出すと、このオブジェクトのHostnameVerifierが置き換えられます。- パラメータ:
v- HostnameVerifier- スロー:
IllegalArgumentException-HostnameVerifierパラメータがnullである場合。- 関連項目:
-
getHostnameVerifier
public HostnameVerifier getHostnameVerifier()このインスタンスで設定されているHostnameVerifierを取得します。- 戻り値:
- HostnameVerifier
- 関連項目:
-
setDefaultSSLSocketFactory
public static void setDefaultSSLSocketFactory(SSLSocketFactory sf) このクラスの新しいインスタンスによって継承されるデフォルトのSSLSocketFactoryを設定します。ソケット・ファクトリは、セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されます。
- パラメータ:
sf- デフォルトのSSLソケット・ファクトリ- スロー:
IllegalArgumentException- SSLSocketFactoryパラメータがnullである場合。- 関連項目:
-
getDefaultSSLSocketFactory
public static SSLSocketFactory getDefaultSSLSocketFactory()このクラスの新しいインスタンスによって継承されるデフォルトのstaticSSLSocketFactoryを取得します。ソケット・ファクトリは、セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されます。
- 戻り値:
- デフォルトの
SSLSocketFactory - 関連項目:
-
setSSLSocketFactory
public void setSSLSocketFactory(SSLSocketFactory sf) このインスタンスがセキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されるSSLSocketFactoryを設定します。このクラスの新しいインスタンスは、
setDefaultSSLSocketFactoryによって設定されたデフォルトのstaticSSLSocketFactoryを継承します。 このメソッドを呼び出すと、このオブジェクトのSSLSocketFactoryが置き換えられます。- パラメータ:
sf- SSLソケット・ファクトリ- スロー:
IllegalArgumentException-SSLSocketFactoryパラメータがnullである場合。- 関連項目:
-
getSSLSocketFactory
public SSLSocketFactory getSSLSocketFactory()セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用される、SSLソケット・ファクトリを取得します。- 戻り値:
SSLSocketFactory- 関連項目:
-
getSSLSession
public Optional<SSLSession> getSSLSession()この接続で使用中のSSLSessionを含むOptionalを返します。 基礎となる実装がこのメソッドをサポートしていない場合、空のOptionalを返します。- 実装要件:
- 互換性のために、このメソッドのデフォルト実装は空の
Optionalを返します。 サブクラスは、SSLセッションに関連付けられている追加のパラメータにアクセスする必要がある場合があるため、このメソッドを適切な実装でオーバーライドする必要があります。 - 戻り値:
- この接続で使用中の
SSLSessionを含むOptional。 - スロー:
IllegalStateException- 接続が確立される前にこのメソッドが呼び出された場合- 導入されたバージョン:
- 12
- 関連項目:
-