【DO!BOOK・ページリンク】
2008_migaro_techreport_001   86 / 136

BOOKをみる

10秒後にBOOKのページに移動します


84 GET メソッドは、URL の中に問い合わ せを記載するのが特徴だ。先ほどの郵便 番号検索の場合、"?zip=5560017" とい う部分が問い合わせクエリーとなる。  つまり、GET メソッドで問い合わせ することが可能なWeb アプリケーショ ンは、変数を含むURL を渡すだけで連 携が可能になるのである。 連携プログラムの作成  それでは、簡単な連携プログラムを作 成してみよう。  まず、新規プロジェクトを作成し、 Button、Edit そしてWebBrowser コ ンポーネントを貼り付ける。【図6】  そして、ボタンコンポーネントの Click イベントに、処理を記述する。 【ソース6】  では、完成したプログラムを実行して みよう。先ほどのブラウザ画面からの表 示結果と同じ内容が、Delphi のフォー ム上に表示されることが確認できる。【図 7】  このようにWeb 情報への連携はとて も簡単である。 Google検索  もう1 つ見てみよう。先ほどと同じよ うに、インターネットエクスプローラ上 に下記アドレスを入力してほしい。 http://www.google.co.jp/search?num =30&q=%E3%83%9F%E3%82%AC%E 3%83%AD  これは皆様おなじみのGoogle 検索で ある。検索キーワード" ミガロ" で、結 果が30 件表示されている。【図8】  このサイトも先ほどと同じように、 Get メソッドで問い合わせを行ってい る。"q=%E3%83…" のところを見てほ しい。実は、この部分は「ミガロ」とい うキーワードで検索しなさいという問い 合わせを表しているのだが、符号化され ているのがわかるであろう。  つまり、Get メソッドで問い合わせす る際には、通常2 バイト文字等は利用で きないのである。加えて、このように空 白文字や特殊記号、日本語等の全角文字 を符号化するルールを「URL エンコー ド」と呼んでいる。  では、Delphi/400 から使用する際に、 URL エンコードはどうすればよいか? 実はHTTPApp というユニットをuses 節に追加すると、HTTPEncode 関数が 使用できるようになり、これを使うと容 易にURL エンコードが可能である。  なお、URL エンコードの際には、対 象のWeb サイトが使用する文字コード 体系によりさらに変換が必要な場合もあ る。先ほどのGoogle 検索サイトでは、 UTF-8 という文字コード体系を使用し ているので、このような場合、さらに AnsiToUtf8 関数を使うとよい。 Google検索を実現した Delphi/400連携プログラム  先ほど作成した日本郵便の検索プログ ラムを改良してみよう。ソース7 は、 Google 検索を実現したDelphi/400 連 携プログラムとなる。【ソース7】  完成したプログラムを実行すると、 Delphi の画面で指定したキーワードを もとにGoogle 検索を行い、結果が画面 に表示されていることがわかる。【図9】 さいごに  このように、単純にWeb サイトに対 して問い合わせし、結果を画面に表示す るだけの「連携」であった。とはいえ、 皆様が開発するアプリケーションにおい て、入力した値がそのままパラメータと して利用できるようになれば、いろいろ な呼び出しが可能になるだろう。  今回紹介した以外にも、Get メソッド を使用した検索可能なサイトが多数存在 する。  例えば、http://ready.to/search/list/ というサイトでは、ブラウザから直接呼 び出せるサイトが紹介されている。参考 にしてはいかがだろうか。  アイデアしだいでは便利な連携が可能 と思われるので、ぜひともいろいろチャ レンジしていただきたい。 M