こんどはPOSTを受ける方法。
気になったので調べてみた。
POSTの場合はフォームから入力されたものと同じく
import cgi form = cgi.FieldStorage() print "Content-Type: text/html\n\n" print form
ってなカンジで取り出す。
しかし、GETと同じパラメータで渡すと、出力が
FieldStorage(None, None, [MiniFieldStorage('maru', 'nau'), MiniFieldStorage('me', 'meee')])
こんななった。
フォーム(POST)としてのデータの渡し方をしないとダメみたい。
ちゃんと渡した場合はhas_keyメソッド使ってkeyあるかどうかしらべて
form['辞書key'].value
とかで取り出せるみたい。
httpリクエストのGETクエリをpythonで受ける。
基本的にPerlとかと一緒。
クエリとしてはURLの後ろなんかに?から始まる'maru=nau&me=mee'みたいな、key=値を&でつなげた情報ね。
import os import cgi if 'QUERY_STRING' in os.environ: query = cgi.parse_qs(os.environ['QUERY_STRING']) else: query = {} print "Content-Type: text/html\n\n" print query
但し、上のqueryオブジェクトには{'辞書key':[リスト], 辞書key:[リスト・・・ってなカンジで戻ってきてるので。取り出すには
query['辞書key'][0]
とか打たないとエラーでます。
参考サイト
Python CGI でqueryを受け取る:新適当マイコン電子工作研究所:So-net blog
算数orz
先日、ちょっとコンクリ打ちする用事があり。近所のホームセンターでインスタントコンクリを購入することとなったのだが・・・
容積計算ができず、3回/dayホームセンターに買い足しに行く羽目に。
ちょっと算数くらいできるよーになろーねオレ。
まずは換算表
1立方メートル(㎥) = 1,000,000立方センチメートル(m2,cc)
1立方メートル(㎥) = 1,000リットル(ℓ)
で容積計算から
幅(1.5m) x 奥行き(4m) x 高さ(0.1m) = 0.6㎥
0.6㎥ = 600ℓ
コンクリ1袋で20リットルって書いてあったから・・・
600ℓ / 20ℓ = 30袋
やっぱりそうか・・・ぜんぜん足りんわけだ。
ちなみにペットボトル2ℓは・・・
2ℓ = 2000㏄
10㎝ x 10㎝ x 20㎝ ですね^^
なさけなしorz