首先看一下官方 API 文档,获取一个请求的参数有两个方法:ngx.req.get_uri_args、ngx.req.get_post_args,二者主要的区别是参数来源。
参考下面例子:
server {
listen 80;
server_name localhost;
location /print_param {
content_by_lua_block {
local arg = ngx.req.get_uri_args() -- 获取 GET 参数
for k,v in pairs(arg) do
ngx.say("[GET ] key:", k, " v:", v)
end
ngx.req.read_body() -- 解析 body 参数之前一定要先读取 body
local arg = ngx.req.get_post_args() -- 获取 POST 参数
for k,v in pairs(arg) do
ngx.say("[POST] key:", k, " v:", v)
end
}
}
}