Как извлечь тело сообщения HTTP в BaseHTTPRequestHandler.do_POST ()? - PullRequest
41 голосов
/ 12 мая 2011

В методе do_POST() BaseHTTPRequestHandler я могу получить доступ к заголовкам запроса POST просто через свойство self.headers. Но я не могу найти похожее свойство для доступа к телу сообщения. Как мне тогда это делать?

1 Ответ

83 голосов
/ 12 мая 2011

Вы можете получить доступ к телу POST в методе do_POST следующим образом:

для питон 2

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

для питон 3

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

и затем прочитайте данные

post_body = self.rfile.read(content_len)
...