【发布时间】:2014-08-14 19:23:41
【问题描述】:
所以我通过这样做在 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 数据库中。
【问题讨论】:
-
您是要保存已解析的日志还是要执行其他操作?
-
@slipjack 我想保存日志将是一个好的开始。
-
@slipjack 我想一个更好的方式来放置我正在寻找的内容是我想在
GET请求进入时对其进行解析。 -
你会从使用像flask这样的更高级别的库中受益匪浅。
-
实际命令如
GET HTTP/1.1 /crazysean/?url=www.google.com&x=200&y=400。您可以通过子类化处理程序来获得其中的一部分。如果您想要其余的日志信息,例如 301,那不是请求的一部分;那就是解释它对请求做了什么的处理程序。