Python CGIスクリプトですべてのHTTPヘッダーを読み取る方法は?
Pythonを使用したApacheCGIスクリプトでカスタムリクエストヘッダーの値を取得することができます。解決策はこれに似ています。
Apacheのmod_cgiは、受信したHTTPリクエストヘッダーごとに環境変数を設定します。この方法で設定された変数にはすべてHTTP_プレフィックスが付いているため、たとえばx-client-version:1.2.3は変数HTTP_X_CLIENT_VERSIONとして使用できます。
したがって、上記のカスタムヘッダーを読み取るには、os.environ["HTTP_X_CLIENT_VERSION"]を呼び出すだけです。
以下のスクリプトは、すべてのHTTP_*ヘッダーと値を出力します-
#!/usr/bin/env python import os print "Content-Type: text/html" print "Cache-Control: no-cache" print print "<html><body>" for headername, headervalue in os.environ.iteritems(): if headername.startswith("HTTP_"): print "<p>{0} = {1}</p>".format(headername, headervalue) print "</html></body>"
-
Pythonでパターンを印刷する方法は?
Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが
-
Pythonで辞書のすべてのキーを印刷するにはどうすればよいですか?
辞書オブジェクトには、この仕事をしてくれるkeys()メソッドがあります。 >>> D1 = {1:a, 2:b,3:c} >>> D1.keys() dict_keys([1, 2, 3]) >>> list(D1.keys()) [1, 2, 3] 反復可能なリストオブジェクトは、forループを使用してトラバースできます >>> L1 = list(D1.keys()) >>> for i in L1: print (i) 1 2 3