在Python中读取请求参数

时间:2010-02-06 13:14:01

标签: python parameters request mod-python

我是python的新手,不得不深入研究一个简单的程序,以便与我正在构建的ASP.NET应用程序集成。伪代码如下。

  1. 从请求中获取两个参数。 (ASP.NET将通过POST调用此URL并发送两个参数)
  2. 在内部执行一些业务逻辑并构建一些响应。
  3. 将响应写回来,以便ASP.NET应用程序可以继续。
  4. 第2步和第3步已经到位且工作正常,但无法找到第1步的解决方案(我知道它应该非常简单,并且知道如何在Java / .NET / PHP和RoR中执行此操作但不在Python和在线文档/教程没有帮助我的事业)。我正在使用mod_python在apache上运行python。

    非常感谢任何帮助。提前致谢 维杰

2 个答案:

答案 0 :(得分:5)

Here是mod_python的初学者教程。

据我了解你的问题,你有一个基于mod_python的脚本,你想读取一个POST参数。因此,您只需使用mod_python自动提供的form对象:

myparameter = form.getfirst("name_of_the_post_parameter")

您可以找到文档over here

请注意,此解决方案是您的服务器配置PythonHandler mod_python.psp时允许您使用“Python服务器页面”(特殊< %%>标记,自动创建的变量,如form, ...)。如果您正在编写一个普通的mod_python 处理程序,那么它看起来应该是这样的:

from mod_python import util

def handler(req):
   form = util.FieldStorage(req, keep_blank_values=1)
   myparameter = form.getfirst("name_of_the_post_parameter")
   ...other stuff...

答案 1 :(得分:0)

“我知道它应该非常简单,并且知道如何在Java / .NET / PHP和RoR中实现它,而不是在Python中”

嗯,这在Python中并不简单 - 语言。

在许多Python Web框架中很简单。

不要将Python(语言)与PHP(Web框架)或RoR(Web框架)进行比较。

Python,如Java或VB或Ruby,是一种编程语言。不是网络框架。

要从Apache获取内容到Python,您有三种选择。

  1. CGI脚本。一个可怕的选择。

  2. mod_python的。不是一个很好的选择。

  3. mod_wsgi的。一个更好的选择。

  4. 如果你坚持使用mod_python - 例如,这是家庭作业 - 除了python教程之外,你还需要阅读mod_python教程。

    例如,这似乎就是你正在做的事情。 http://www.modpython.org/live/current/doc-html/tut-pub.html