我可以从python中的环境变量中获取POST数据吗?

时间:2016-06-28 12:09:33

标签: python http http-post environment-variables cgi

我正在尝试理解http查询,并通过首先查看环境变量的密钥然后访问“QUERY_STRING”以获取实际数据,成功地通过环境变量从GET请求获取数据。

像这样:

#!/usr/bin/python3
import sys
import cgi
import os

inputVars = cgi.FieldStorage()

f = open('test','w')
f.write(str(os.environ['QUERY_STRING])+"\n")
f.close()

有没有办法获取POST数据(相当于POST的“QUERY_STRING” - 也就是说)或者因为POST数据是在自己的包中发送而无法访问?到目前为止,环境变量的键没有给我任何提示。

1 个答案:

答案 0 :(得分:1)

可能的重复链接解决了它,正如评论中指出的同义词和用户Schien在链接问题的一个答案中解释的那样:

原始http发布数据(查询后的内容)可以通过stdin读取。 所以可以使用sys.stdin.read()方法。

我的代码现在看起来像这样:

#!/usr/bin/python3
import sys
import os

f = open('test','w')
f.write(str(sys.stdin.read()))
f.close()