Loading
|
@IT > Master of IP Network > Mobile Connection > CGIによるGET/POSTメソッドを使った送受信 |
DoJaによるiアプリの開発入門(5)
前回(「HTTP通信とスクラッチパッドへのアクセス」)は、Generic Connectionのサンプルとして、指定したURLのリソース(GIFファイル)を利用しました。今回は、このURLにCGI(Common Gateway Interface)を指定して、GET/POSTメソッドを使った送受信を行ってみたいと思います。 なお今回使用するCGIではPerlを使っていますが、それ以外のCGIを使うことも可能です。
CGIとの交信メソッドにGETを使用した場合とPOSTを使用した場合とでは、データの送信方法が違います。以下にGETメソッド、POSTメソッドを使用した場合の処理の流れを紹介します。DoJaとCGIとの連携でも、CGIへのアクセス方法やCGIプログラム自身は通常のブラウザの場合とほぼ変わりませんので、CGIを利用した経験のある方であれば容易に理解できると思います。 ■GETメソッド
■POSTメソッド
GETメソッドでは大きなデータを送信するのが大変なので、大きなデータを送信する場合はPOSTを使った方がいいでしょう。
今回のサンプルは、「iアプリを使った簡易掲示板」です。この簡易掲示板では「他人の発言に返信(リプライ)することができない」「最新5件までの内容しか保存されない」「改行ができない」などの制限がありますが、Perlプログラムに詳しい方であれば容易に拡張することができると思います。 また、ただの簡易掲示板ではiモードだけで実現できてしまい、iアプリである必要性がありません。そこで今回はメッセージの表示部分にCanvasを使い、背景にイメージを付けてみます。 ■ソースの記述とビルド ではまず、iアプリ側のプログラムをDoja上で作成します。これまでと同様に新規プロジェクト「iBBS」を作成し、srcフォルダへ「iBBS.java」ファイルを保存します(今回のソースファイルは長いので、こちらからダウンロードしてください)。また、背景に表示するGIFファイルも用意してresフォルダへ入れておいてください。 また今回も、前回同様ネットワークを使用しているため「アプリケーション属性設定」のAppName、ClassNameに加えUseNetworkにhttpを設定するのをお忘れなく。 ソースの記述が終わったらビルドし、JAMファイルとJARファイルを作成します。
■CGIの記述 iアプリのソース記述が終わったら、iアプリと交信するCGIのソース記述に移ります。こちらは、Webサーバ上で掲示板を実現するためのプログラムです。 「ibbs.cgi」ファイルを適当な場所へ保存してください。またテキストエディタで何も書かないまま「名前を付けて保存」することで空のテキストファイル「log.txt」「ibbs.txt」を作成します。
なおこのPerlプログラムでは、Kazumasa Utashiro氏による日本語コード変換スクリプト「jcode.pl」を使用していますので、それも用意してください*1。
Perlプログラムの第1行目は、設置するサーバーによってPerlのパスが異なることがあります。設置する前にサーバーの設定を確認し、任意に修正してください。 なおこのPerlプログラムを作成するにあたり、ゆたか氏(ゆたかのホームページ)、Atsushi氏(Atsushi's Homepage)のプログラムを参考にさせていただきました。 ■アップロードと属性変更 これまでに作成したすべてのファイル(iBBS.jar、iBBS.jam、ibbs.cgi、ibbs.txt、log.txt、jcode.pl)に加え、iアプリをダウンロードするHTMLを用意したら、これらのファイルをサーバへアップロードします。 iBBS.jarはバイナリモードで、それ以外のファイルはアスキーモードで同じサーバへアップロードしてください。 アップロードが終わったら、CGIで扱うファイル(ibbs.cgi、jcode.pl、ibbs.txt、log.txt)の属性を変更します。FTPクライアントなどを使いibbs.cgiとjcode.plを777あるいは755へ、ibbs.txtとlog.txtを666へ変更してください。 ■エミュレータ・実機での動作確認 DoJa付属のエミュレータや503iシリーズ実機で動作を確認します。エミュレータでの動作確認には、前回同様「編集>設定」での「読み込み先URL」と「NetworkAccess」を設定しなければならないことに注意してください。またサーバによってはエミュレータでのアクセスを拒否されることもあります。 この簡易掲示板のプログラムでは、ソフトキー2(右)でGETとPOSTを切り替えることができるようになっています。どちらを使っても、同じ結果が得られるのがお分かりいただけると思います。
次回はiアプリを作成する際の大きな障害の1つである機種依存について着目し、互換性のあるプログラム作成法についてご紹介します。 次回、「互換性のあるプログラム作成法」編の掲載は7月下旬ごろを予定しています
|
|
|
Copyright © ITmedia, Inc. All Rights Reserved.
|