python使用http.server获取post参数

要使用Python的http.server模块获取POST请求参数,需要在http.server.SimpleHTTPRequestHandler类中重写do_POST()方法。这个方法会在接收到POST请求时被调用。 以下是一个使用http.server模块获取POST请求参数的示例代码:

```python
from http.server import SimpleHTTPRequestHandler, HTTPServer


class MyHandler(SimpleHTTPRequestHandler):
    def do_POST(self):
        content_length = int(self.headers['Content-Length'])  # 获取POST请求的数据长度
        post_data = self.rfile.read(content_length)  # 读取POST请求的数据
        print(post_data)  # 打印POST请求的数据


if __name__ == '__main__':
    server_address = ('', 8000)
    httpd = HTTPServer(server_address, MyHandler)
    httpd.serve_forever()
```

在上面的代码中,MyHandler类继承自SimpleHTTPRequestHandler类,并重写了do_POST()方法,用于获取POST请求的参数。在该方法中,首先获取POST请求的数据长度,然后读取POST请求的数据,并打印出来。 最后,创建一个HTTPServer对象,并指定MyHandler为请求处理程序,然后使用serve_forever()方法启动服务器,等待客户端连接并发送POST请求。

相关代码参考