Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

javax.microedition.io
インタフェース HttpsConnection

すべてのスーパーインタフェース:
Connection, ContentConnection, HttpConnection, InputConnection, OutputConnection, StreamConnection

public interface HttpsConnection
extends HttpConnection

このインタフェースはセキュアなネットワーク接続を証明するために必要なメソッドと定数を定義しています。 Connector クラスの open メソッドでスキームに"https"を含む URI 形式をオープンすると HttpsConnection オブジェクトを返します。 スキームは RFC2818 にて定義されています。

以下に示す仕様を1つ以上採用してセキュアなネットワーク接続を実装しなければなりません。

HTTPS は HTTP(RFC2616)のセキュアバージョンであり、リクエストを送信する前にリクエスト・パラメータを設定しなければならないリクエスト - レスポンス型のプロトコルです。

接続状態への遷移を促す様々なメソッドの呼び出しによって、通常の IOException に加えて、セキュアなリンクを確立する際に発生する様々な失敗を示すために CertificateExceptionIOException のサブクラス)を 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();
     }
 }

導入されたバージョン:
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
 
メソッドの概要
 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
 

メソッドの詳細

getSecurityInfo

SecurityInfo getSecurityInfo()
                             throws IOException

正常にオープンされたこの接続に関連するセキュリティ情報を返します。 接続がまだセットアップ状態の場合、セキュアな接続を証明するためにサーバーへの接続を開始します。 接続が確立され、サーバーから提供された Certificate が有効になるとメソッドは呼び出し元に戻ります。 正常にサーバーに接続した場合に限り、SecurityInfo オブジェクトを返します。

戻り値:
このオープンされた接続に関連するセキュリティ情報を返します。
例外:
IOException - 証明できない任意の接続である場合に throw します。

getPort

int getPort()

この HttpsConnection オブジェクトのオープンに使用した URL のネットワーク・ポート番号を返します。

定義:
インタフェース HttpConnection 内の getPort
戻り値:
この HttpsConnection オブジェクトが接続先とするネットワーク・ポート番号を返します。 開く際に使用された 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 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。