WEBサーバの立ち上げ
Windows10です。下記だけで、127.0.0.1:8000にアクセスできるWEBサーバが立ち上がります。
$ python -m http.server --cgi
下記のように、立ち上げたディレクトリの直下にcgi-binディレクトリをつくって、その中にpyファイルを作成すると、http://127.0.0.1:8000/cgi-bin/hoge.pyのようにアクセスすることでPythonファイルと認識して結果が表示されます。
$ cd hoge $ python -m http.server --cgi $ mkdir cgi-bin $ cd cgi-bin $ touch hoge.py $ vim hoge.py
hoge.py
#!/usr/bin/env python print('Content-type: text/html; charset=UTF-8\r\n') print('Hello, World!')
GET/POSTアクセスのチェック
#!/usr/bin/env python import os if os.environ['REQUEST_METHOD'] == 'POST': print('Content-type: text/html; charset=UTF-8\r\n') print('Hello, World!')
パラメタの取得
#!/usr/bin/env python import os import cgi if os.environ['REQUEST_METHOD'] != 'POST': data = cgi.FieldStorage() name = data.getvalue('name', 'taro') print('Content-type: text/html; charset=UTF-8\r\n') print('Hello, ' + name + '!')
JSONを返す
print('Content-Type: text/json; charset=utf-8\r\n') print(json.dumps([1, 2, 3]))
エラーをディスプレイに表示する
import cgitb
cgitb.enable()