|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface HttpsConnection
このインタフェースはセキュアなネットワーク接続を証明するために必要なメソッドと定数を定義しています。
Connector クラスの open メソッドでスキームに"https"を含む URI 形式をオープンすると HttpsConnection オブジェクトを返します。
スキームは RFC2818 にて定義されています。
以下に示す仕様を1つ以上採用してセキュアなネットワーク接続を実装しなければなりません。
HTTPS は HTTP(RFC2616)のセキュアバージョンであり、リクエストを送信する前にリクエスト・パラメータを設定しなければならないリクエスト - レスポンス型のプロトコルです。
接続状態への遷移を促す様々なメソッドの呼び出しによって、通常の IOException に加えて、セキュアなリンクを確立する際に発生する様々な失敗を示すために CertificateException(IOException のサブクラス)を throw することができます。
接続状態への遷移はセキュアなリンクを確立し、正常にヘッダーを送信することが必要です。
Connector クラスの open() メソッドと同メソッドに関連するメソッドの呼び出し時点でセキュアなリンクを確立する可能性があり、最初の入出力ストリームによる状態遷移よりも早期に CertificateException が throw されることがあります。
使用例
HTTPS 接続を開き、そして各種パラメータを設定し、HTTP レスポンスを読み出します。
URL を Connector クラスの open メソッドでオープンし、HttpsConnection オブジェクトを取得します。
HTTP ヘッダを読み取り処理します。
データの長さが有効であればそれをデータの読み取りに使用します。
HttpsConnection オブジェクトから InputStream オブジェクトを開きます。
そしてファイルの終わり(読み出し結果が -1 になるまで)全てのデータを読み出すのに使用します。
例外が throw された場合は HttpsConnection オブジェクトと InputStream オブジェクトを閉じます。
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();
}
}
CertificateException| フィールドの概要 |
|---|
| メソッドの概要 | |
|---|---|
int |
getPort()
この HttpsConnection オブジェクトのオープンに使用した URL のネットワーク・ポート番号を返します。 |
SecurityInfo |
getSecurityInfo()
正常にオープンされたこの接続に関連するセキュリティ情報を返します。 |
| インタフェース javax.microedition.io.HttpConnection から継承されたメソッド |
|---|
getDate, getExpiration, getFile, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHost, getLastModified, getProtocol, getQuery, getRef, getRequestMethod, getRequestProperty, getResponseCode, getResponseMessage, getURL, setRequestMethod, setRequestProperty |
| インタフェース javax.microedition.io.ContentConnection から継承されたメソッド |
|---|
getEncoding, getLength, getType |
| インタフェース javax.microedition.io.InputConnection から継承されたメソッド |
|---|
openDataInputStream, openInputStream |
| インタフェース javax.microedition.io.OutputConnection から継承されたメソッド |
|---|
openDataOutputStream, openOutputStream |
| インタフェース javax.microedition.io.Connection から継承されたメソッド |
|---|
close |
| メソッドの詳細 |
|---|
SecurityInfo getSecurityInfo()
throws IOException
正常にオープンされたこの接続に関連するセキュリティ情報を返します。
接続がまだセットアップ状態の場合、セキュアな接続を証明するためにサーバーへの接続を開始します。
接続が確立され、サーバーから提供された Certificate が有効になるとメソッドは呼び出し元に戻ります。
正常にサーバーに接続した場合に限り、SecurityInfo オブジェクトを返します。
IOException - 証明できない任意の接続である場合に throw します。int getPort()
この HttpsConnection オブジェクトのオープンに使用した URL のネットワーク・ポート番号を返します。
HttpConnection 内の getPortHttpsConnection オブジェクトが接続先とするネットワーク・ポート番号を返します。
開く際に使用された URL 文字列にポート番号の記述が無い場合はデフォルトの HTTPS ポート番号である 443 を返します。
|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
| 公式仕様書原文の著作権表記等(※): Mobile Information Device Profile Specification ("Specification") Version: 2.0 Status: FCS Release: November 5, 2002 Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc. All rights reserved. | ※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |
