简单HTTP服务器和套接字服务器
我创建了一个叫做“处理程序”的Python脚本,内容如下:
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "Serving at port:", PORT
httpd.serve_forever()
我还有一个JavaScript函数,它会向服务器发送信息,具体是通过一个网址请求。这一切都运行得很好,当我先运行我的处理程序脚本,然后再运行JavaScript时,我可以在终端看到所有来自JavaScript的数据:
localhost.localadmin - - [20/Feb/2013] "GET /?var=data/ HTTP/1.1" 200 -
我想要做的是,能够在我的处理程序脚本中访问这些数据,理想情况下像这样:
data = httpd.server_forever() #How do I do somethign like this
我该怎么做才能实现这个目标呢?
1 个回答
4
你可以像这样继承 SimpleHTTPServer.SimpleHTTPRequestHandler
:
class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
# Your code here
print "Client requested:", self.command, self.path
SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
PORT = 8000
httpd = SocketServer.TCPServer(("", PORT), MyHandler)
print "Serving at port:", PORT
httpd.serve_forever()
这样在控制台上会打印出:
Client requested GET /?var=data/
想了解更多信息,可以查看 SimpleHTTPRequestHandler 和 BaseHTTPRequestHandler 的文档。