在httpRequester发出POST时,可以由两种返回参数(提交参数)的方式。
1是在URL里;2是在content里。
如下图
在CGI中进行接收时,对两种方式的接收方式也不一样。
URL后面的参数由HTTP服务器放到全局变量QUERY_STRING里带给cgi.
content里的则由HTTP服务器启动CGI后,使用stdin发给CGI。由CGI read stdin来得到。
代码如下:
post_length = tonumber(os.getenv("CONTENT_LENGTH")) or 0;
if os.getenv("REQUEST_METHOD") == "POST" and post_length > 0 then
my_log("POST method\n");
post_raw = io.read(post_length);
my_log("posw_raw:\n" .. post_raw .. "\n");
end
日志文件如下:
POST method
posw_raw:
ip=22.2.22.2