nginx请求相关参数

1. 获取param参数

local arg = ngx.req.get_uri_args();

for k,v in pairs(arg) do
    ngx.log(ngx.WARN,"key=",k," val=",v);
end

2. 读取body

-- 解析 body 参数之前一定要先读取 body
ngx.req.read_body()
local arg = ngx.req.get_post_args();

for k,v in pairs(arg) do
    ngx.log(ngx.WARN,"bkey=",k," bval=",v);
end
-- 解析 body 参数之前一定要先读取 body ngx.req.read_body()
-- 这个读取application/json
local data = ngx.req.get_body_data()
ngx.log(ngx.WARN,"data=",data)

3. 下载

location /download {
      root   html;
#      content_by_lua_file luademo/download.lua;
      access_by_lua_block {
        ngx.var.limit_rate = 10000  #10K
      }
    }

wget http://192.168.6.170:10000/download/a.zip

sleep

location /testsleep {
  content_by_lua_block {
    ngx.say("hello")
    ngx.sleep(3)
    ngx.say("the world")
  }
}

location /test2 {
  content_by_lua_block {
    ngx.say("hello")
    ngx.flush() -- 显式的向客户端刷新先响应输出
    ngx.sleep(3)
    ngx.say("the world")
  }
}

猜你喜欢

转载自blog.csdn.net/kq1983/article/details/83012216