我创建了一个“处理程序”python 脚本,如下所示:
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "Serving at port:", PORT
httpd.serve_forever()
我还有一个 javascript 函数,它向服务器发送一个 URL 请求信息。这一切都很好,当我运行我的处理程序脚本,然后运行我的 javascript 时,我可以在终端中看到来自 JS 的所有数据:
localhost.localadmin - - [20/Feb/2013] "GET /?var=data/ HTTP/1.1" 200 -
我想做的是能够从我的处理程序脚本访问这些数据,理想情况下是这样的:
data = httpd.server_forever() #How do I do somethign like this
我如何完成这样的事情?
最佳答案
您可以像这样继承 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获取更多信息。
关于python - SimpleHTTPServer 和 SocketServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984401/