javax.microedition.io
インタフェース HttpsConnection
- すべてのスーパーインタフェース:
- Connection, ContentConnection, HttpConnection, InputConnection, OutputConnection, StreamConnection
public interface HttpsConnection
- extends HttpConnection
このインタフェースは、セキュアネットワーク接続を確立するために必要なメソッドと定数を定義します。https
方式の URI を渡されると、Connector.open
は HttpsConnection
を返します。この方式は、RFC 2818 に定義されています。
セキュア接続は、次のうち 1 つ以上の仕様に従って実装する必要があります。
HTTPS は、セキュアバージョンの HTTP です (IETF RFC 2616)。HTTP は、要求の送信前に要求のパラメータを設定する必要がある要求応答プロトコルの 1 つです。
Connected 状態への移行の原因となる各種メソッドの呼び出し中に発生する通常の IOException
のほかに、IOException
のサブタイプで、セキュアリンクの確立に関連したさまざまな障害を示す CertificateException
がスローされることがあります。ヘッダーを安全に送信するためには、セキュアリンクが Connected
状態である必要があります。入出力ストリームをオープンする Connector.open()
とその関連メソッドが呼び出されるとすぐに、セキュアリンクが確立され、証明書例外に関する障害が報告されることがあります。
例
HTTPS 接続を開始し、そのパラメータを設定して、HTTP 応答を読み取ります。
URL のオープンには、Connector.open
を使用します。結果としては、HttpsConnection
が返されます。HTTP ヘッダーが読み取られ、処理されます。長さが指定された場合、データの一括読み取りが可能になります。HttpsConnection
から InputStream
がオープンします。これを使用して、ファイルの終わり (-1) までのすべての文字が読み取られます。例外がスローされた場合、接続は終了し、ストリームもクローズします。
void getViaHttpsConnection(String url)
throws CertificateException, IOException {
HttpsConnection c = null;
InputStream is = null;
try {
c = (HttpsConnection)Connector.open(url);
// InputStream を取得すると接続が開始される
// (まだ Connector.open() によって処理されていない場合)。
// 続いて SSL ハンドシェークが行われ、
// HTTP 応答ヘッダーが読み取られる。
// これらは要求されるまで保管される。
is = c.openDataInputStream();
if c.getResponseCode() == HttpConnection.HTTP_OK) {
// 長さを取得し、データを処理
int len = (int)c.getLength();
if (len > 0) {
byte[] data = new byte[len];
int actual = is.readFully(data);
...
} else {
int ch;
while ((ch = is.read()) != -1) {
...
}
}
} else {
...
}
} finally {
if (is != null)
is.close();
if (c != null)
c.close();
}
}
- 導入されたバージョン:
- MIDP 2.0
- 関連項目:
CertificateException
インタフェース javax.microedition.io.HttpConnection から継承されたフィールド |
GET, HEAD, HTTP_ACCEPTED, HTTP_BAD_GATEWAY, HTTP_BAD_METHOD, HTTP_BAD_REQUEST, HTTP_CLIENT_TIMEOUT, HTTP_CONFLICT, HTTP_CREATED, HTTP_ENTITY_TOO_LARGE, HTTP_EXPECT_FAILED, 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_TEMP_REDIRECT, HTTP_UNAUTHORIZED, HTTP_UNAVAILABLE, HTTP_UNSUPPORTED_RANGE, HTTP_UNSUPPORTED_TYPE, HTTP_USE_PROXY, HTTP_VERSION, POST |
インタフェース javax.microedition.io.HttpConnection から継承されたメソッド |
getDate, getExpiration, getFile, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHost, getLastModified, getProtocol, getQuery, getRef, getRequestMethod, getRequestProperty, getResponseCode, getResponseMessage, getURL, setRequestMethod, setRequestProperty |
-->
getSecurityInfo
SecurityInfo getSecurityInfo()
throws IOException
- この正常に開始された接続に関連付けられたセキュリティー情報を返します。接続がまだ
Setup
状態である場合は、接続が開始され、サーバーとのセキュア接続が確立されます。接続が確立され、サーバー側から提示された Certificate
の検証が完了すると、メソッドは終了します。SecurityInfo
は、サーバーとの接続が正常に確立された場合にのみ返されます。
- 戻り値:
- この開始された接続に関連付けられたセキュリティー情報
- 例外:
IOException
- 任意の接続障害が発生した場合
getPort
int getPort()
- この
HttpsConnection
の URL のネットワークポート番号を返します。
- 定義:
- インタフェース
HttpConnection
内の getPort
- 戻り値:
- この
HttpsConnection
の URL のネットワークポート番号。
Connector.open
に渡された文字列にポート番号が含まれていない場合は、デフォルトの HTTPS ポート番号 443
バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。