« 喘息薬、フッ素、便秘、アトピー | トップページ | シャア専用バンドエイドは2歳以下は使用不可 »

iアプリで通信、はじめの一歩(The Fighting!(嘘))

  • iアプリで使えるプロトコルはhttpだけ
  • リクエストラインのメソッドはGET/POST/HEADだけ
  • リクエストヘッダフィールドで使えるのは"Content-Type"と"If-Modified-Since"だけ
  • データの送受信は、HttpConnectonインターフェースで行う。以下は手順
    1. Connector#open()でコネクションを開く(HttpConnection#connect()までは実動しない)。その際のmodeは、POSTの場合、READ_WRITE。それ以外はREADを使う。
    2. setRequestMethod()でメソッドを設定
    3. setRequestProperty()でリクエストヘッダを設定(ex.受け取るデータのタイプをココで設定)。
    4. POSTの場合、OutPutStreamを開き、メッセージボディのデータを出力する。出力完了でclose()。
    5. HttpConnection#connect()で接続。すると、リクエストメッセージ(POSTではデータ込み)がサーバーに送られる。
    6. 必要に応じて、getHeaderField()でレスポンスヘッダフィールドを取得できる
    7. InputStreamを開く、read()でレスポンスメッセージのボディが取得できる。

CGIについてのはじめの知識

CGI プログラムは、実行されると標準出力に出力します。その出力がそのままブラウザに渡されます。 ただし、気を付けるのはまずヘッダを出力し、その後空行が必要なことです。(中略)
引数の取得は、GET の場合は環境変数 QUERY_STRING に代入されています。 POST の場合は標準入力から渡されます。 GET か POST かは 環境変数 REQUEST_METHOD でわかります。また、POST の場合は環境変数CONTENT_LENGTH にデータ長さが入っていますが、 EOF まで STDIN から読み込んでも構わないでしょう。
GET でも POST でも、データは URL エンコードされています。正規表現 [-a-zA-Z0-9_\*] 以外の文字は全て %xx という形 (xx は16進数表記) になって送られてきます。CGI プログラムでは、これを元の形に戻さないといけません。

|

« 喘息薬、フッ素、便秘、アトピー | トップページ | シャア専用バンドエイドは2歳以下は使用不可 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19762/918796

この記事へのトラックバック一覧です: iアプリで通信、はじめの一歩(The Fighting!(嘘)):

« 喘息薬、フッ素、便秘、アトピー | トップページ | シャア専用バンドエイドは2歳以下は使用不可 »