如何使用Python CGI解析“请求体”?

11 投票
2 回答
9463 浏览
提问于 2025-04-16 04:50

我只需要写一个简单的Python CGI脚本,用来解析包含JSON内容的POST请求。这只是测试代码,目的是为了在实际服务器(由其他人编写)准备好之前,测试一个客户端应用。

我可以读取cgi.FieldStorage()并列出所有的键,但请求体中包含的JSON内容却找不到。

我也可以查看os.environ(),它提供了很多信息,但我没有看到包含请求体的变量。

任何建议都很感谢。

克里斯

2 个回答

8

注意,如果你在代码中先调用了 cgi.FieldStorage(),那么你就无法从标准输入(stdin)获取请求的主体数据,因为这些数据只能读取一次。

27

如果你在使用CGI(通用网关接口),那么只需要从 stdin 读取数据就可以了:

import sys
data = sys.stdin.read()

撰写回答