Чтение параметров запроса в Python - PullRequest
2 голосов
/ 06 февраля 2010

Я очень новичок в python, и мне нужно разбираться с этим для простой программы для интеграции с приложением ASP.NET, которое я создаю. Псевдокод выглядит следующим образом.

  1. Получить два параметра из запроса. (ASP.NET будет вызывать этот URL через POST и отправлять два параметра)
  2. Выполните внутреннюю бизнес-логику и создайте ответ.
  3. Напишите ответ обратно, чтобы приложение ASP.NET могло продолжить работу.

Шаг 2 и 3 уже на месте и работают, но не могут найти решение для шага 1 (я знаю, что это должно быть очень просто, и знаю, как это сделать в Java / .NET / PHP и RoR, но не в Python и онлайн-документы / учебные пособия не помогают моему делу). Я использую Python на Apache, используя mod_python.

Любая помощь здесь очень ценится. заранее спасибо Виджей

Ответы [ 2 ]

5 голосов
/ 06 февраля 2010

Здесь - хорошее руководство для начинающих по mod_python.

Насколько я понимаю ваш вопрос, у вас есть скрипт на основе mod_python и вы хотите прочитать параметр POST. Поэтому вам нужно использовать только объект form, который автоматически предоставляется mod_python:

myparameter = form.getfirst("name_of_the_post_parameter")

С документацией можно ознакомиться здесь .

Обратите внимание, что это решение, когда ваш сервер настроен на PythonHandler mod_python.psp, что позволит вам использовать «Страницы Python Server» (специальные теги <%%>, автоматически созданные переменные, такие как 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...
0 голосов
/ 06 февраля 2010

«Я знаю, что это должно быть очень просто, и знаю, как это сделать в Java / .NET / PHP и RoR, но не в Python»

Ну, это не просто в Python - язык.

Это просто во многих веб-фреймворках Python.

Не делайте ошибку, сравнивая Python (язык) с PHP (веб-фреймворк) или RoR (веб-фреймворк).

Python, как Java, VB или Ruby, является языком программирования. Не веб-фреймворк.

Чтобы получить вещи из Apache в Python, у вас есть три варианта.

  1. CGI-скрипт. Ужасный выбор.

  2. mod_python. Не лучший выбор.

  3. mod_wsgi. Гораздо лучший выбор.

Если вы застряли с mod_python - потому что это домашнее задание, например - вам нужно прочитать учебник mod_python в дополнение к учебнику по питону.

Это, например, кажется, что вы делаете. http://www.modpython.org/live/current/doc-html/tut-pub.html

...