第3章 ページを生成する簡単なCGIアプリケーション


  1. HTTPページを生成するソース

    #!/usr/bin/perl 宣言とprint,exitコマンド,改行コード(\n),デリミタ(;)
    xyzzyを使って,次の内容を入力します.
    Perlのソース ブラウザでの表示 ソースの表示
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/perl

    print "Content-type: text/html\n\n";
    print "<html>\n";
    print "<head><title>CGI-TEST</title></head>\n";
    print "<body>\n";
    print "投稿ありがとう\n";
    print "</body>\n";
    print "</html>";

    exit 0;
    投稿ありがとう <html>
    <head><title>CGI-TEST</title></head>
    <body>
    投稿ありがとう
    </body>
    </html>

    ■ソースの解説
    #!/usr/bin/perl Perlというプログラムがおいてある場所の指定
    print 標準出力(一般には画面)に""で囲まれた内容を出力するコマンド
    \n 改行を意味するコード
    ;(セミコロン) 1つのコマンドが終了するごとに区切りコードとしていれる
    exit Perlを終了するコマンド."0"は無事に終了したことを意味する戻り値
    3行目 HTMLページを作るときに,必ず必要な宣言

    保存の際の注意【最重要】
    CGIアプリケーションを保存する際は,改行コードをUNIX用に指定します.

    次の手順になります.
    【ファイルメニュー】→【名前を付けて保存】と開く.

    現れた【名前を付けて保存】画面で,保存場所をweb_localのcgi-binに指定.

    ファイル名をmkhtml.cgiにする.

    改行コードをUNIX改行コードのLFに指定する.下の図を参考.


    【保存】ボタンをクリックする.

    インターネット上で確認
    ではインターネットエクスプローラで,このCGIファイルのURL(アドレス)を下のように指定します.
    今までなら,これでページは正しく表示されました.実際にやってみます.

      http://alice/~自分のユーザ名/cgi-bin/mkhtml.cgi

    しかし,実際にはこのようにサーバーエラーになってしまいます.

  2. HTTPページを閲覧できるようにする

    実行権限を与える
    31で作成したmkhtml.cgiは,実行権限がないため正しくHTTPコンテンツ(ホームページのこと)として表示されませんでした.

    前述の22の手順で【セキュリティタブ】画面を開き,次のようにEveryoneユーザに対し,【読み込みと実行】の許可にチェックを追加します.
    読み取りと実行の追加

    これで,mkhtml.cgiの内容を実行する許可を追加できました.

    インターネット上で確認
    インターネットエクスプローラから,改めてURL(アドレス)を指定します.

      http://alice/~自分のユーザ名/cgi-bin/mkhtml.cgi

    今度は正しく表示されました.