Foundation 1.1.2

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

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

public interface HttpsConnection
extends HttpConnection

このインタフェースは、セキュアネットワーク接続を確立するために必要なメソッドと定数を定義します。https 方式の URI を渡されると、Connector.openHttpsConnection を返します。この方式は、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
 
メソッドの概要
 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.Connection から継承されたメソッド
close
 
インタフェース javax.microedition.io.OutputConnection から継承されたメソッド
openDataOutputStream, openOutputStream
インタフェース javax.microedition.io.Connection から継承されたメソッド
close
-->  

メソッドの詳細

getSecurityInfo

SecurityInfo getSecurityInfo()
                             throws IOException
この正常に開始された接続に関連付けられたセキュリティー情報を返します。接続がまだ Setup 状態である場合は、接続が開始され、サーバーとのセキュア接続が確立されます。接続が確立され、サーバー側から提示された Certificate の検証が完了すると、メソッドは終了します。SecurityInfo は、サーバーとの接続が正常に確立された場合にのみ返されます。

戻り値:
この開始された接続に関連付けられたセキュリティー情報
例外:
IOException - 任意の接続障害が発生した場合

getPort

int getPort()
この HttpsConnection の URL のネットワークポート番号を返します。

定義:
インタフェース HttpConnection 内の getPort
戻り値:
この HttpsConnection の URL のネットワークポート番号。 Connector.open に渡された文字列にポート番号が含まれていない場合は、デフォルトの HTTPS ポート番号 443

Foundation 1.1.2

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。