Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mod_python中访问查询参数($\u GET)?_Python_Wsgi_Mod Python_Query Parameters - Fatal编程技术网

如何在mod_python中访问查询参数($\u GET)?

如何在mod_python中访问查询参数($\u GET)?,python,wsgi,mod-python,query-parameters,Python,Wsgi,Mod Python,Query Parameters,我想知道如何在python脚本上显示请求$\u GET 注意,我使用mod_python作为基本web服务器,在UBUNTU服务器上运行apache2 如果您有任何想法,我们将非常感谢您的帮助: 其他python web服务器,如Django等。。。在我的例子中需要注意,因为我只为特定任务运行一个python脚本:对于响应web请求的简单脚本,我不会使用mod_python;您可能想在这里切换到mod_wsgi 您必须自己解析查询字符串WSGI变量;您可以通过以下方式执行此操作: parse_q

我想知道如何在python脚本上显示请求$\u GET

注意,我使用mod_python作为基本web服务器,在UBUNTU服务器上运行apache2

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


其他python web服务器,如Django等。。。在我的例子中需要注意,因为我只为特定任务运行一个python脚本:

对于响应web请求的简单脚本,我不会使用mod_python;您可能想在这里切换到mod_wsgi

您必须自己解析查询字符串WSGI变量;您可以通过以下方式执行此操作:

parse_qs解析查询字符串并将结果字典中的值设置为每个键的列表,因为键可以在查询字符串中出现多次

上面的代码将选择列表中的第一个值,如果该键根本不存在,则不会选择任何值

如果您打算坚持使用普通的WSGI,请阅读一篇文章来了解它是如何工作的。但是,我强烈建议您使用框架;即使只是一个简单的脚本,也能让你的开发者生活变得简单得多

如果要坚持使用mod_python请求处理程序,请将environ['QUERY_STRING']替换为:


对于响应web请求的简单脚本,我不会使用mod_python;您可能想在这里切换到mod_wsgi

您必须自己解析查询字符串WSGI变量;您可以通过以下方式执行此操作:

parse_qs解析查询字符串并将结果字典中的值设置为每个键的列表,因为键可以在查询字符串中出现多次

上面的代码将选择列表中的第一个值,如果该键根本不存在,则不会选择任何值

如果您打算坚持使用普通的WSGI,请阅读一篇文章来了解它是如何工作的。但是,我强烈建议您使用框架;即使只是一个简单的脚本,也能让你的开发者生活变得简单得多

如果要坚持使用mod_python请求处理程序,请将environ['QUERY_STRING']替换为:


您是否正在使用任何web框架,或者您是否正在直接使用WSGI软管?不,我不使用任何框架:基本python web服务器:那么现在就开始使用它。没有什么理由停留在如此低的水平。尽管根据您的需要,Flask、Pyramid和Django现在最受欢迎,但请从中选择一种。对于没有数据库后端的特定、简单的任务,请使用Flask。当然有,但为什么要经历这种痛苦呢?如果你坚持,至少要读一篇文章。你在使用任何web框架还是直接从WSGI软管中获取信息?不,我不使用任何框架:基本python web服务器:那么现在就开始使用。没有什么理由停留在如此低的水平。尽管根据您的需要,Flask、Pyramid和Django现在最受欢迎,但请从中选择一种。对于没有数据库后端的特定、简单的任务,请使用Flask。当然有,但为什么要经历这种痛苦呢?如果您坚持,请至少阅读一篇。谢谢,以及如何从外部字符串调用def应用程序“foo”@user3818090:ick,您使用的是mod_python,而不是mod_wsgi。这是相当古老和过时的这些天..我刚刚安装了mod_wsgi像你建议我的@用户3818090:啊,那么我将回滚到另一个版本。mod_wsgi当然是更好的选择,除非您想编写Apache筛选器或连接处理程序。@user3818090:我的错误,我想使用req作为处理程序的参数。谢谢,以及如何从外部字符串调用def应用程序“foo”?@user3818090:ick,您使用的是mod_python,而不是mod_wsgi。这是相当古老和过时的这些天..我刚刚安装了mod_wsgi像你建议我的@用户3818090:啊,那么我将回滚到另一个版本。mod_wsgi当然是更好的选择,除非您想编写Apache筛选器或连接处理程序。@user3818090:我的错误,我想使用req作为处理程序的参数。
from urlparse import parse_qs

def application(environ, start_response):
    params = parse_qs(environ['QUERY_STRING'])
    foo = params.get('foo', [None])[0]
from urlparse import parse_qs

def requesthandler(req):
    params = parse_qs(req.args)
    foo = params.get('foo', [None])[0]