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]