Webサーバーと通信する(HTML版)
今度は、Webサーバーと通信するプログラムをCurlで作ってみましょう。ここでは、WebサーバーとしてWindows XP Professionalに装備されているIIS(Internet Information Service)を使い、1台のマシンにWebサーバーとWebクライアントを兼務させます。
Windows XP Professionalには、標準ではIISがインストールされていません。Windowsのコントロールパネルにある「プログラムの追加と削除」を起動し、「Windowsコンポーネントの追加と削除」のリストにある「インターネットインフォメーションサービス(IIS)」を選択してインストールしてください。なお、Webサーバーを起動したままにしておくとセキュリティ上の問題が生じる恐れがあるので、サンプルプログラムの動作を確認したらIISを停止するか、IISをアンインストールすることをお勧めします。
Webサーバーのホームディレクトリ(C:¥Inetpub¥wwwroot)にVBScriptで記述したASPのスクリプトを置き、それをCurlプログラムと連携させます。Windowsのメモ帳(NotePad.exe)を使ってリスト3に示したスクリプトを記述し、WebサーバーのホームディレクトリにGetFruitPrice.aspというファイル名で保存してください。このスクリプトは、Webクライアントから送られたフルーツの価格を返すものです。
フルーツの種類を示す文字列は、"リンゴ"、"ミカン"、"メロン"の3種類です。それぞれに対して、"300"、"400"、"500"という価格を文字列で返します。3種類以外の文字列が送られて来た場合は、エラーを表す"-1"という文字列を返します。
<% FruitName = Request.Form("FruitName") If FruitName = "リンゴ" Then Price = "300" ElseIf FruitName = "ミカン" Then Price = "400" ElseIf FruitName = "メロン" Then Price = "500" Else Price = "-1" End If Response.Write(Price) %>
後で紹介するCurlのプログラムと比較するために、通常のHTMLで記述されたWebページから、リスト3のスクリプトを呼び出してみましょう。Windowsのメモ帳を使ってリスト4に示したHTMLを記述し、WebサーバーのホームディレクトリにHtmlSample.htmlというファイル名で保存してください。
<HTML> <BODY> <FORM ACTION="http://localhost/GetFruitPrice.asp" METHOD="POST"> フルーツの名前 <INPUT TYPE="TEXT" NAME="FruitName"> <INPUT TYPE="SUBMIT" VALUE="Webサーバーに送信"> </FORM> </BODY> </HTML>
Webブラウザを起動したら、アドレス欄に「http://localhost/HtmlSample.html」と入力して[Enter]キーを押してください。図3に示したWebページが表示されたら、「フルーツの名前」欄に適当なフルーツの名前を入力して[サーバーに送信]ボタンをクリックしてください。これによってGetFruitPriceo.aspが呼び出され、図4のようにフルーツの価格が返されます。