如何在BaseHTTPRequestHandler.do_POST()中提取HTTP消息主体?

71 投票
1 回答
65008 浏览
提问于 2025-04-16 17:30

BaseHTTPRequestHandlerdo_POST()方法中,我可以通过self.headers这个属性很方便地获取POST请求的头信息。但是,我找不到类似的属性来获取消息的主体部分。那么,我该怎么做呢?

1 个回答

124

你可以在 do_POST 方法中这样访问 POST 请求的内容:

对于 python 2

content_len = int(self.headers.getheader('content-length', 0))

对于 python 3

content_len = int(self.headers.get('Content-Length'))

然后就可以读取这些数据了

post_body = self.rfile.read(content_len)

撰写回答