Найти - Пользователи
Полная версия: Как получить данные из GET запроса?
Начало » Web » Как получить данные из GET запроса?
1
shag12
Некая система передает на мой сервер HTTP запрос вида:

http://server.domen/objects/?XXX=YYYY&ZZZ=PPPP

На сервере стоит апач с прикрученным к нему mod_python.

Как мне забрать эти данные?

Изменить сам запрос невозможно - оно вот так шлет :-(…
cutwater
Можете начать отсюда:

http://modpython.org/live/current/doc-html/tutorial.html#quick-overview-of-how-apache-handles-requests

Но по хорошему нужно уже давно выбросить mod_python на свалку истории и использовать более современные инструменты.
shag12
mod_python - не критичен. Мне все равно.

Критичны 2 вещи - Апач, ибо уже стоит и выполнятет другие функции. И Питон - т.к. нужно использовать специфические библиотеки для дальнейшей обработки, иначе-бы не парился, и написал-бы на PHP.
cutwater
Как вариант ставьте mod_wsgi.

http://lucumr.pocoo.org/2007/5/21/getting-started-with-wsgi/

Можете использовать WebOb \ Werkzeug чтобы получить удобную обертку над Request \ Response. Но думаю для этой задачи можно обойтись и без них.
shag12
Спасибо большое за идею.

Поставил WSGI - код в итоге вообще простейший получился!

def application(environ, start_response):
    lines = {}
    for val in environ["QUERY_STRING"].split('&'):
         lines[val.split('=')[0]]=val.split('=')[1]
    start_response("200 OK", [("Content-Type", "text/plain")])
    f = open("/var/wsgi-scripts/file.f", 'a')
    f.write(environ["QUERY_STRING"] + "\n")
    f.write(lines['gpio4'] + "\n")
    f.close()
    return ["\n"]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB