Как получить доступ к параметру запроса ("$_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]