1. 程式人生 > >nginx請求相關引數

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")
  }
}