BaseHTTPServer
BaseHTTPServer 提供了 HTTPServer ,BaseHTTPRequestHandler两个类用与实现简单的http服务器,
一般不是直接使用BaseHTTPServer 模块,而是使用SimpleHTTPServer, CGIHTTPServer.
#!/usr/bin/env python
#!coding=utf-8
from BaseHTTPServer import HTTPServer ,BaseHTTPRequestHandler
from SocketServer import ThreadingMixIn
class RequestHandler(BaseHTTPRequestHandler):
def _writehander(self):
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
def do_GET(self):
"""
处理get请求
"""
self._writehander()
self.wfile.write("<html>")
self.wfile.write("%s<br>"%(self.path))
self.wfile.write("%s<br>"%(self.server))
self.wfile.write("%s<br>"%(self.responses))
self.wfile.write("</html>")
def do_POST(self):
"""
处理post请求
"""
self._writehander()
self.wfile.write("<html>")
self.wfile.write("%s<br>"%(self.path))
self.wfile.write("%s<br>"%(self.server))
self.wfile.write("%s<br>"%(self.responses))
self.wfile.write("</html>")
serveraddr = ('',9001)
"""
只能单线程的处理,会阻塞
ser = HTTPServer(serveraddr,RequestHandler)
ser.serve_forever()
"""
#多线程处理
class ThreadingHTTPServer(ThreadingMixIn,HTTPServer):
pass
ser = ThreadingHTTPServer(serveraddr,RequestHandler)
ser.serve_forever()