如何在mod_python中访问查询参数(“ $ _GET”)?

use*_*090 1 python wsgi mod-python query-parameters

我想知道如何$_GET在python脚本上显示请求()?

请注意,我mod_python用作UBUNTU服务器上运行apache2的基本Web服务器。

如果您有任何想法,将非常感谢您的帮助:)

其他Python网络服务器(例如Django等)...在我的情况下需要注意,因为我仅针对一个特定任务运行一个python脚本:)

Mar*_*ers 5

对于一个简单的脚本来响应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)