from http.server import BaseHTTPRequestHandler, HTTPServer 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"Hello, this is a simple web server!") def do_POST(self): self._set_headers() # 获取请求的原始数据 content_length = int(self.headers['Content-Length']) raw_post_data = self.rfile.read(content_length) # 打印原始 POST 数据包 print("\n[POST Request Received]\n") print(raw_post_data.decode('utf-8')) 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()
简单的Web服务器可以抓POST请求包
最新推荐文章于 2024-07-26 15:05:55 发布