web-dev-qa-db-ja.com

PythonでHTTP GET引数を取得する

シンプルなPythonスクリプトを使用してサーバー上の曲のリストからランダムな曲を選択するためにIcecastストリームを実行しようとしています。投票/リクエストインターフェイスを追加しようとしています。そして私のホストでは、pythonを使用してCGI経由でWebページを提供することを許可しています。しかし、ユーザーから提供されたGET引数を取得する方法だけに夢中になっています。通常の方法でsys.argv:

#!/usr/bin/python
import sys
print "Content-type: text/html\n\n"
print sys.argv

ただし、 http://example.com/index.py?abc=123&xyz=987 を押すと、「['index.py']」のみが返されます。 Pythonがこの目的のために持っている他の関数はありますか、それともCGIで変更する必要があるものがありますか?私がやろうとしていることは可能ですか?

ありがとう。

24
James

cgi.FieldStorage()はあなたのためにトリックを行うべきです...それはフィールドとしてキーと値として値を持つ辞書を返します。

import cgi
import cgitb; cgitb.enable() # Optional; for debugging only

print "Content-Type: text/html"
print ""

arguments = cgi.FieldStorage()
for i in arguments.keys():
 print arguments[i].value
49
lalli