如何在BaseHTTPRequestHandler.do_POST()中提取HTTP消息主体?
在BaseHTTPRequestHandler
的do_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)