Как получить доступ к параметру запроса ("$_GET") в mod_python?

Я хочу знать, как показать запросы ($_GET) на скрипте питона?

Обратите внимание, что я использую mod_python как основной веб-сервер, работающий с apache2 на сервере UBUNTU.

Если у вас есть идеи, ваша помощь будет очень признательна:)

Другой веб-сервер на Python, например, Django и т. Д., В моем случае требуется заметка, потому что я запускаю только один скрипт на Python для конкретной задачи:)

1 ответ

Решение

Для простого сценария ответа на веб-запрос я бы не использовал 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]

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]
Другие вопросы по тегам