from http.server import BaseHTTPRequestHandler, HTTPServer import urllib.parse class RequestHandler(BaseHTTPRequestHandler): def _set_headers(self): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() def do_GET(self): self._set_headers() self.wfile.write(b"infomation of POST")#当收到 GET 请求时,调用 _set_headers 方法设置响应头,并向客户端发送简单的消息。 def do_POST(self):##处理POST请求 self._set_headers() # 获取请求的原始数据 content_length = int(self.headers['Content-Length']) raw_post_data = self.rfile.read(content_length) # URL 解码 decoded_data = urllib.parse.unquote(raw_post_data.decode('utf-8')) # 打印原始 POST 数据包 print("\n[POST Request Received]\n") print(decoded_data) self.wfile.write(b"POST request received.") def run(server_class=HTTPServer, handler_class=RequestHandler, port=8000): server_address = ('', port) httpd = server_class(server_address, handler_class) print(f"Starting server on port {port}") try: httpd.serve_forever() except KeyboardInterrupt: pass httpd.server_close() print("Server stopped.") if __name__ == '__main__': run()