我想知道如何在python脚本上显示请求($_GET
)?
请注意,我使用mod_python
作为在UBUNTU服务器上运行apache2的基本Web服务器。
如果您有任何想法,我们将非常感谢您的帮助:)
像Django等其他python web服务器......在我的情况下需要注意,因为我只运行一个特定任务的python脚本:)
答案 0 :(得分:4)
对于回复网络请求的简单脚本,我不会使用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]