Python: CGIHTTPServerでCGIスクリプトを処理


PythonのみでCGIを処理できるサーバを立てられるので、その動作確認。今回は下記CGIHTTPServerモジュールを使用する。尚、実行環境はMac OSX。

ソースコード

上記スクリプトを実行後、そのスクリプトのカレントディレクトリの直下にcgi-binフォルダを作成し、そこに今回処理させるCGIスクリプトを配置する。

実行結果

ブラウザ上から当該ファイルへアクセスすると以下の通りページが出力される。

python_cgi_test

エラーケース

ブラウザからCGIファイルへアクセスした際に、CGIHTTPServerより下記のメッセージが出力された場合。

原因

2つ考えられる。

  1. CGIスクリプトファイルに実行権限を付与していない。
  2. スクリプトファイルの改行コードがMac OS 9。

    python_mac_char_code

対処

実行権限が付与されていない場合は、chmod 755や+xで対象ファイルに権限を付与すれば良い。仮に改行コードが別のものであれば、変換する。

python_unix_char_code

尚、Eclipseの設定で改行コードを指定するには下記の画面から行う。
※General→Workspace

python_eclipse_editer_setting

関連記事 (Related Articles):


コメントを残す