Python CGI
CGIでデータを受け取る
サンプルプログラム:
Pythonでは,getもpostも受け取り側の同じプログラムで良い.#!/usr/bin/python #coding: utf-8 import cgi import os message = '' method = '' method = os.environ['REQUEST_METHOD'] form = cgi.FieldStorage() if( form.has_key('message') ): message = form['message'].value print 'Content-Type: text/html' print print ''' <html> <head> <META http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Python message test</title> </head> <body> Your message is:<br> %s <br> <br> Method is %s <br> </body> </html> ''' % ( message, method )Get methodによるhtml
<html> <head> <META http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Python get test</title> </head> <body> <form method="get" action="message.cgi"> Your message:<br> <input name="message" size="64" /> <input type="submit" value="Submit" /> </form> </body> </html>Post methodによるhtml
<html> <head> <META http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Python post test</title> </head> <body> <form method="post" action="message.cgi"> Your message:<br> <input name="message" size="64" /> <input type="submit" value="Submit" /> </form> </body> </html>Get methodでサンプルを実行する
Post methodでサンプルを実行する
サンプルをダウンロードする
説明:
#!/usr/local/bin/python #coding: utf-8pythonのパスの設定.サーバーによっては,/usr/local/bin/pythonに修正が必要です.
文字コードがutf-8であることを明記しています.
method = os.environ['REQUEST_METHOD']Methodの種類を取得.
form = cgi.FieldStorage() if( form.has_key('message') ): message = form['message'].valuecgi.FieldStorageを使えば,簡単にデータが取得できる.
print 'Content-Type: text/html' printCGIでhtmlを出力するときのおまじないです.