忧里修斯 发表于 2013-1-15 02:36:43

python简单的http服务器

1、Server.py

# -*- coding:UTF-8 -*-import osimport BaseHTTPServerimport timeimport threadingimport urlparseclass ServerHandler(BaseHTTPServer.BaseHTTPRequestHandler):      '''            简单的Http服务器,处理get请求    '''#    def __init__(self,request, client_address, server):#      BaseHTTPServer.BaseHTTPRequestHandler.__init__(self,request, client_address, server);#      self.server = server;      #处理用户的GET请求    def do_GET(self):      try:            str = urlparse.urlparse(self.path)            #处理请求的参数#            args = dict(urlparse.parse_qsl(str.query));            fn = os.curdir+os.sep+self.path            self.send_response(200)            self.send_header("Content-type", "text/html; charset=utf-8")            self.send_header("Content-Length", os.path.getsize(fn))            self.end_headers()#            with open(fn , "rb" ) as f:#                self.wfile.write(f.read());#                self.wfile.flush();#                return;                        #写回客户端            clientf = open(fn);            self.wfile.write(clientf.read());            clientf.close();      except:            print '出现异常'            self.send_error(404, 'File Not Found:%s' % fn)    class Server:    def startServer(self):      server_address = ('', 8000)      httpd = BaseHTTPServer.HTTPServer(server_address, ServerHandler)      server_thread = threading.Thread(target=httpd.serve_forever)      server_thread.setDaemon(True)      server_thread.start()                if __name__ == '__main__':      server = Server()    server.startServer()    starttime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))      print '%s 服务器已启动' % starttime    time.sleep(50000)

2、目录结构
http://dl.iteye.com/upload/attachment/234784/c14540f2-69df-3246-a423-f90a1087893b.png
页: [1]
查看完整版本: python简单的http服务器