Итак, я создал простой сервер на компьютере с Ubuntu на порту 8000, выполнив следующие действия:
python -m SimpleHTTPServer
10.127.11.18 - - [14/Aug/2014 15:11:55] "GET / HTTP/1.1" 200 -
10.127.11.18 - - [14/Aug/2014 15:11:55] code 404, message File not found
10.127.11.18 - - [14/Aug/2014 15:11:55] "GET /favicon.ico HTTP/1.1" 404 -
10.127.11.18 - - [14/Aug/2014 15:12:02] "GET /crazysean/ HTTP/1.1" 200 -
10.127.11.18 - - [14/Aug/2014 15:12:37] "GET /crazysean/ HTTP/1.1" 200 -
10.127.11.18 - - [14/Aug/2014 15:12:52] "GET /crazysean/?url=www.google.com&x=200&y=400 HTTP/1.1" 301 -
10.127.11.18 - - [14/Aug/2014 15:12:52] "GET /crazysean/?url=www.google.com&x=200&y=400/ HTTP/1.1" 200 -
10.127.11.18 - - [14/Aug/2014 15:13:10] "GET /crazysean/?url=www.google.com&x=200&y=400/ HTTP/1.1" 200 -
Я пытаюсь проанализировать отправленные данные GET
, такие как URL, позиция x и позиция y.
Я предполагаю, что моим первым шагом должно быть создание нового сценария следующим образом:
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
Но я не уверен, как внести изменения в этот сценарий, чтобы захватить данные GET
, потому что в конечном итоге я хочу сбросить данные в базу данных sqlite3.
GET
по мере их поступления. - person metersk   schedule 14.08.2014GET
по мере их поступления.SimpleHTTPServer
уже анализирует запросы; вот как он их обслуживает и записывает сообщения журнала. Вы хотите перехватить его синтаксический анализ и заменить его своим? Или для доступа к полям, которые он анализирует? Или вы ищете отдельную программу, которая будет анализировать генерируемые журналы? Или…? - person abarnert   schedule 14.08.2014"GET /crazysean/?url=www.google.com&x=200&y=400 HTTP/1.1" 301 -
? Я хочу разобрать URL-адрес, значение x и значение y и сохранить их в базе данных sqlite. Итак, я думаю, из ваших вариантов это доступ к полям, которые он анализирует, верно? - person metersk   schedule 14.08.2014GET HTTP/1.1 /crazysean/?url=www.google.com&x=200&y=400
. Вы можете получить части этого, создав подкласс обработчика. Если вам нужна остальная информация журнала, например 301, это не является частью запроса; это обработчик, объясняющий, что он сделал с запросом. - person abarnert   schedule 14.08.2014