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