我想知道如何在python腳本中顯示請求($_GET
)?
請注意,我使用mod_python
作爲在UBUNTU服務器上使用apache2運行的基本Web服務器。
如果您有任何想法,您的幫助將是非常讚賞:)
其他Python Web服務器一樣的Django等...筆記,因爲我只運行一個python腳本特定任務需要在我的情況:)
我想知道如何在python腳本中顯示請求($_GET
)?
請注意,我使用mod_python
作爲在UBUNTU服務器上使用apache2運行的基本Web服務器。
如果您有任何想法,您的幫助將是非常讚賞:)
其他Python Web服務器一樣的Django等...筆記,因爲我只運行一個python腳本特定任務需要在我的情況:)
對於一個簡單的腳本來響應Web請求,我不會使用mod_python
;你可能想在這裏改用mod_wsgi
。
你必須自己解析QUERY_STRING
WSGI變量;你可以用urlparse.parse_qs()
function這樣做:
from urlparse import parse_qs
def application(environ, start_response):
params = parse_qs(environ['QUERY_STRING'])
foo = params.get('foo', [None])[0]
parse_qs
解析出查詢字符串,並設置在所產生的字典中的值到列表每關鍵,因爲密鑰可以在查詢字符串中出現不止一次。
以上將挑選列表中的第一個值,或者如果密鑰完全不存在,則選擇None
。
如果你要堅持普通香草WSGI,請閱讀decent tutorial以瞭解它是如何工作的。不過我強烈建議你使用一個框架;即使只是Werkzeug也可以讓你的開發人員變得更加簡單,即使是一個簡單的腳本。
如果你要堅持一個mod_python
請求處理程序,更換environ['QUERY_STRING']
與request.args()
:
from urlparse import parse_qs
def requesthandler(req):
params = parse_qs(req.args)
foo = params.get('foo', [None])[0]
謝謝,以及如何從外部字符串調用'def application''foo'? – user3818090 2014-09-11 09:38:01
@ user3818090:ick,你正在使用'mod_python',而不是'mod_wsgi'。這是相當古老和過時的這些天.. – 2014-09-11 09:40:27
我剛剛安裝'mod_wsgi'就像你建議我! – user3818090 2014-09-11 09:44:22
你使用任何web框架或者是你直接從WSGI軟管喝? – 2014-09-11 09:18:03
不,我不使用任何框架:)基本的Python Web服務器:) – user3818090 2014-09-11 09:18:46
然後開始使用一個。沒有理由留在那麼低的水平。從https://wiki.python.org/moin/WebFrameworks挑選一個,儘管現在Flask,Pyramid和Django最受歡迎,具體取決於您的需求。 – 2014-09-11 09:20:50