use*_*090 1 python wsgi mod-python query-parameters
我想知道如何$_GET在python脚本上显示请求()?
请注意,我mod_python用作UBUNTU服务器上运行apache2的基本Web服务器。
如果您有任何想法,将非常感谢您的帮助:)
其他Python网络服务器(例如Django等)...在我的情况下需要注意,因为我仅针对一个特定任务运行一个python脚本:)
对于一个简单的脚本来响应Web请求,我不使用mod_python; 您可能想在mod_wsgi这里改用。
您必须QUERY_STRING自己解析WSGI变量;您可以使用以下urlparse.parse_qs()功能:
from urlparse import parse_qs
def application(environ, start_response):
params = parse_qs(environ['QUERY_STRING'])
foo = params.get('foo', [None])[0]
Run Code Online (Sandbox Code Playgroud)
parse_qs解析查询字符串,并将结果字典中的值设置为每个键的列表,因为键可以在查询字符串中出现多次。
上面将选择列表中的第一个值,或者None如果根本不存在该键。
如果您要使用普通的WSGI,请阅读不错的教程以了解其工作原理。我强烈建议您使用框架。即使是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]
Run Code Online (Sandbox Code Playgroud)