我正在尝试理解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数据是在自己的包中发送而无法访问?到目前为止,环境变量的键没有给我任何提示。
答案 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()