BaseHTTPServer

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()

 

你可能感兴趣的:(server)