---------------------- HTTPæå¡å¨ | ---------------------- * ç±»åº http.server BaseHTTPRequestHandler * HTTP ,Handlerè´è´£æ¥æ¶åå¤çHTTPè¯·æ± http.server HTTPServer * HTTPæå¡ç±» socketserver ThreadingMixIn * å¤çº¿ç¨çHTTPæå¡æ¯æ * æ¥éª¤ 1,å建 HTTP Handler * èªå®ä¹ç±»ç»§æ¿ BaseHTTPRequestHandler * è¦åå¤çæ¹æ³ 2,èªå®ä¹HTTPæå¡ç±»,å®ç° ThreadingMixIn å HTTPServer * ä¸éè¦è¦å任使¹æ³ 3,å建 HTTPæå¡ç±»å®ä¾ * æé 彿°ç¬¬ä¸ä¸ªåæ°:tuple,æå®æ¬æºååçå¬ç«¯å£,第äºä¸ªåæ°æ¯èªå®ä¹ç Handler ç±» ---------------------- HTTPServer | ---------------------- ---------------------- BaseHTTPRequestHandler | ---------------------- * è·åPOSTçJSON请æ±å¤´ request_size = int(self.headers["Content-length"]) request_body = self.rfile.read(request_size).decode(encoding='utf_8', errors='strict') request_obj = json.loads(request_body) ---------------------- ThreadingMixIn | ---------------------- ---------------------- demo | ---------------------- import threading import urllib from http.server import BaseHTTPRequestHandler from http.server import HTTPServer from socketserver import ThreadingMixIn class Http_Handler(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200, message=None) self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write('Hello Python'.encode(encoding='utf_8', errors='strict')) def do_POST(self): # ååºè®¾ç½® self.send_response(200, message=None) self.send_header('Content-type', 'application/json;charset=UTF-8') self.end_headers() # 请æ±è·¯å¾å¤æ if not self.path == '/open': self.wfile.write(bytes(json.dumps(RESPONSE_BODY['not_found'],ensure_ascii=False),'UTF_8')) return # è·åPOSTçJSON请æ±ä½ request_size = int(self.headers["Content-length"]) request_body = self.rfile.read(request_size).decode(encoding='utf_8', errors='strict') request_obj = json.loads(request_body) # ååºå®¢æ·ç«¯ self.wfile.write(bytes(json.dumps(RESPONSE_BODY['success'],ensure_ascii=False),'UTF_8')) class ThreadingHttpServer(ThreadingMixIn, HTTPServer): pass server = ThreadingHttpServer(('localhost', 8080), Http_Handler) server.serve_forever() server.server_close()