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

时间:2011-05-12 09:27:55

标签: python http post basehttpserver basehttprequesthandler

do_POST()的{​​{1}}方法中,我只需通过属性BaseHTTPRequestHandler即可访问POST请求的标头。但是我找不到用于访问消息正文的类似属性。那我怎么去做呢?

1 个答案:

答案 0 :(得分:83)

您可以使用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)