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

标签 python http post basehttpserver basehttprequesthandler

BaseHTTPRequestHandlerdo_POST() 方法中,我可以通过属性 self.headers 访问 POST 请求的 header 。但我找不到用于访问消息正文的类似属性。那我该怎么做呢?

最佳答案

您可以像这样在 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)

关于python - 如何在 BaseHTTPRequestHandler.do_POST() 中提取 HTTP 消息体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975952/

相关文章:

asp.net-mvc - 显示 http 代替 https

java - 读取所有字符时是否有理由使用 BufferedReader 而不是 InputStreamReader?

PHP 在 POST 之前重新格式化日期

PHP POST 验证错误删除所有条目

python - 在 python 中将文件从 latin1 转换为 utf-8 的最快方法

python - 如何从 Pandas 数据框中区分所有行中相同的列?

python - 如何在特定时间之间以固定间隔在 python 中运行任务?

Python 'resource' 模块 - 负值和无法识别的 RLIMIT_VMEM

http - PROC HTTP 等效于 curl 选项 --insecure/-k

php - 使用 var_dump 或 echo 在实时服务器上调试 php