13

私はPythonの初心者です。インストールしたばかりで、URL で送信された単純なパラメーターを Python スクリプトに取得する方法を 2 時間グーグル検索しました

これを見つけた

非常に役に立ちますが、交換方法を理解するのに世界の何もできないことを除いて

import urlparse
url = 'http://foo.appspot.com/abc?def=ghi'
parsed = urlparse.urlparse(url)
print urlparse.parse_qs(parsed.query)['def']

動作させるには、url = 'string' を何に置き換えますか? http://site.com/test/test.py?param=abcにアクセスして、abc を表示したいだけです。


アレックスの回答後の最終コード:

url = os.environ["REQUEST_URI"] 
parsed = urlparse.urlparse(url) 
print urlparse.parse_qs(parsed.query)['param']
4

2 に答える 2

10

これを行うためのライブラリがない場合は、ブラウザ経由でスクリプトに送信される HTTP リクエストから現在の URL を作成できます。

あなたが興味を持っているヘッダーとHost、HTTP メソッドの後にあるもの (おそらくGET、あなたの場合)。ここにいくつかの説明があります(最初のリンクは大丈夫だと思われました。Googleに自由にアクセスできます:)。

この回答は、CGI スクリプトでヘッダーを取得する方法を示しています。

CGI として実行している場合、HTTP ヘッダーを直接読み取ることはできませんが、Web サーバーはその情報の多くを環境変数に入れます。の中から選ぶだけですos.environ[]

これを演習として行っている場合は、舞台裏で何が行われているかを理解できるようになるので問題ありません。再利用可能なものを構築する場合は、ライブラリまたはフレームワークを使用することをお勧めします。これにより、何かが必要になるたびに車輪を再発明する必要がなくなります。

于 2013-01-22T22:17:10.550 に答える