Форум сайта python.su
Некая система передает на мой сервер HTTP запрос вида:
http://server.domen/objects/?XXX=YYYY&ZZZ=PPPP
На сервере стоит апач с прикрученным к нему mod_python.
Как мне забрать эти данные?
Изменить сам запрос невозможно - оно вот так шлет :-(…
Офлайн
Можете начать отсюда:
http://modpython.org/live/current/doc-html/tutorial.html#quick-overview-of-how-apache-handles-requests
Но по хорошему нужно уже давно выбросить mod_python на свалку истории и использовать более современные инструменты.
Офлайн
mod_python - не критичен. Мне все равно.
Критичны 2 вещи - Апач, ибо уже стоит и выполнятет другие функции. И Питон - т.к. нужно использовать специфические библиотеки для дальнейшей обработки, иначе-бы не парился, и написал-бы на PHP.
Офлайн
Как вариант ставьте mod_wsgi.
http://lucumr.pocoo.org/2007/5/21/getting-started-with-wsgi/
Можете использовать WebOb \ Werkzeug чтобы получить удобную обертку над Request \ Response. Но думаю для этой задачи можно обойтись и без них.
Офлайн
Спасибо большое за идею.
Поставил 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"]
Офлайн