亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB服務 > 正文

Nginx服務器中使用lua獲取get或post參數

2020-05-27 13:19:05
字體:
來源:轉載
供稿:網友

   使用ngx_lua模塊(http://wiki.nginx.org/HttpLuaModule):

  local request_method = ngx.var.request_method

  local args = nil

  local param = nil

  local param2 = nil

  --獲取參數的值

  if "GET" == request_method then

  args = ngx.req.get_uri_args()

  elseif "POST" == request_method then

  ngx.req.read_body()

  args = ngx.req.get_post_args()

  end

  param = args["param"]

  param2 = args["param2"]

  升級版(能處理content-type=multipart/form-data的表單):

  local function explode ( _str,seperator )

  local pos, arr = 0, {}

  for st, sp in function() return string.find( _str, seperator, pos, true ) end do

  table.insert( arr, string.sub( _str, pos, st-1 ) )

  pos = sp + 1

  end

  table.insert( arr, string.sub( _str, pos ) )

  return arr

  end

  local args = {}

  local file_args = {}

  local is_have_file_param = false

  local function init_form_args()

  local receive_headers = ngx.req.get_headers()

  local request_method = ngx.var.request_method

  if "GET" == request_method then

  args = ngx.req.get_uri_args()

  elseif "POST" == request_method then

  ngx.req.read_body()

  if string.sub(receive_headers["content-type"],1,20) == "multipart/form-data;" then--判斷是否是multipart/form-data類型的表單

  is_have_file_param = true

  content_type = receive_headers["content-type"]

  body_data = ngx.req.get_body_data()--body_data可是符合http協議的請求體,不是普通的字符串

  --請求體的size大于nginx配置里的client_body_buffer_size,則會導致請求體被緩沖到磁盤臨時文件里,client_body_buffer_size默認是8k或者16k

  if not body_data then

  local datafile = ngx.req.get_body_file()

  if not datafile then

  error_code = 1

  error_msg = "no request body found"

  else

  local fh, err = io.open(datafile, "r")

  if not fh then

  error_code = 2

  error_msg = "failed to open " .. tostring(datafile) .. "for reading: " .. tostring(err)

  else

  fh:seek("set")

  body_data = fh:read("*a")

  fh:close()

  if body_data == "" then

  error_code = 3

  error_msg = "request body is empty"

  end

  end

  end

  end

  local new_body_data = {}

  --確保取到請求體的數據

  if not error_code then

  local boundary = "--" .. string.sub(receive_headers["content-type"],31)

  local body_data_table = explode(tostring(body_data),boundary)

  local first_string = table.remove(body_data_table,1)

  local last_string = table.remove(body_data_table)

  for i,v in ipairs(body_data_table) do

  local start_pos,end_pos,capture,capture2 = string.find(v,Content%-Disposition: form%-data; name="(.+)"; filename="(.*)")

  if not start_pos then--普通參數

  local t = explode(v,"rnrn")

  local temp_param_name = string.sub(t[1],41,-2)

  local temp_param_value = string.sub(t[2],1,-3)

  args[temp_param_name] = temp_param_value

  else--文件類型的參數,capture是參數名稱,capture2是文件名

  file_args[capture] = capture2

  table.insert(new_body_data,v)

  end

  end

  table.insert(new_body_data,1,first_string)

  table.insert(new_body_data,last_string)

  --去掉app_key,app_secret等幾個參數,把業務級別的參數傳給內部的API

  body_data = table.concat(new_body_data,boundary)--body_data可是符合http協議的請求體,不是普通的字符串

  end

  else

  args = ngx.req.get_post_args()

  end

  end

  end

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品入口免费视频一| 亚洲一区二区三区香蕉| 精品久久久久久亚洲精品| 亚洲色图综合网| 日韩亚洲一区二区| 国产精品羞羞答答| 日韩在线观看你懂的| 久久久久久久久久久91| 国产色视频一区| 伊人久久久久久久久久久久久| 欧美性生交大片免网| 国产免费一区二区三区香蕉精| 国产精品吹潮在线观看| 另类图片亚洲另类| 国内自拍欧美激情| 成人a免费视频| 欧洲美女免费图片一区| 欧美视频13p| 成人久久久久久| 精品一区二区三区四区| 久久久久久久一区二区三区| 国产精品99久久久久久www| 亚洲日本欧美日韩高观看| 成人美女免费网站视频| 日韩av在线网址| xxav国产精品美女主播| 九九热精品视频国产| 成人福利视频在线观看| 亚洲毛片在线免费观看| 日韩成人激情影院| 亚洲大胆人体视频| 久久在线视频在线| 久久香蕉频线观| 国外成人性视频| 久久久久久久久91| 日韩一区二区三区xxxx| 国产欧美一区二区三区在线| 亚洲桃花岛网站| 欧美黑人视频一区| 国产成人精品av| 亚洲美女福利视频网站| 2019中文在线观看| 欧美日韩免费观看中文| 午夜欧美不卡精品aaaaa| 伊人亚洲福利一区二区三区| 亚洲视频日韩精品| 欧美激情视频在线免费观看 欧美视频免费一| 欧美极品美女视频网站在线观看免费| 日韩欧美亚洲范冰冰与中字| 欧美激情综合亚洲一二区| 上原亚衣av一区二区三区| 影音先锋欧美在线资源| 亚洲福利视频网站| 精品国产网站地址| 日韩av电影手机在线观看| 日韩黄色av网站| 国产成人黄色av| 欧美精品在线看| 亚洲福利视频二区| 国产日韩欧美在线| 国产亚洲免费的视频看| 欧美精品一区二区三区国产精品| 国产精品看片资源| 欧美大奶子在线| 夜夜嗨av一区二区三区四区| 国产suv精品一区二区三区88区| 欧美亚洲视频在线看网址| 午夜精品久久久久久久白皮肤| 色哟哟网站入口亚洲精品| 欧美性猛交xxxx| 国产ts一区二区| 最新国产精品拍自在线播放| 国产日韩欧美成人| 亚洲人成电影网| 亚洲va电影大全| 国产精品丝袜白浆摸在线| 国产一区二区丝袜高跟鞋图片| 91精品综合视频| 亚洲成人久久久| 日本成人激情视频| 国模叶桐国产精品一区| 日韩av片免费在线观看| 久久露脸国产精品| 日韩高清电影免费观看完整版| 亚洲黄色有码视频| 国产精品男女猛烈高潮激情| 欧美精品videossex性护士| 久久久久久久久久久网站| 欧美日本黄视频| 色婷婷亚洲mv天堂mv在影片| 欧美大码xxxx| 色一情一乱一区二区| 成人精品久久久| 亚洲第一免费播放区| 亚洲欧洲日产国产网站| 97色在线视频观看| 欧美性猛交xxxx乱大交3| 欧美性在线观看| 欧美日韩久久久久| 亚洲天堂男人的天堂| 欧美一级淫片videoshd| 日韩经典中文字幕在线观看| 亚洲精品国偷自产在线99热| 日韩在线免费视频| 日韩一区在线视频| 亚洲精品福利资源站| 神马久久久久久| 91av国产在线| 精品伊人久久97| 国产色婷婷国产综合在线理论片a| 国产精品久久久久久久久久久久久久| 成人网在线免费观看| 亚洲japanese制服美女| 欧美高清理论片| 2018国产精品视频| 国产精品免费观看在线| 日韩av日韩在线观看| 91高清免费在线观看| 欧美久久精品午夜青青大伊人| 欧美黑人巨大xxx极品| 国产精品福利在线| 欧美精品生活片| 欧美成人黄色小视频| 欧美成人精品h版在线观看| 成人午夜激情免费视频| 亚洲人永久免费| 日本高清久久天堂| 亚洲va欧美va在线观看| 国产欧美一区二区三区在线| 亚洲xxxxx| 亚洲图片在线综合| 精品成人在线视频| 欧美xxxx做受欧美| 欧美国产日韩视频| 成人午夜一级二级三级| 国产免费成人av| 亚洲精品中文字幕有码专区| 久久精品国产亚洲精品2020| 91精品国产91久久久久久不卡| 日韩中文在线不卡| 激情久久av一区av二区av三区| 亚洲成人黄色网| 欧美黑人一级爽快片淫片高清| 亚洲精品福利在线| 美乳少妇欧美精品| 亚洲综合色激情五月| 国外成人在线播放| 久久久精品一区二区| 成人黄色av播放免费| 性欧美暴力猛交69hd| 中文字幕日韩在线播放| 国产日韩在线精品av| 成人国产在线激情| 欧美亚洲视频在线看网址| 不卡中文字幕av| 精品视频在线播放色网色视频| 国产一区二中文字幕在线看| 麻豆乱码国产一区二区三区| 亚洲最大成人网色| 久久精品亚洲94久久精品| 国产视频精品自拍| 国产精品久久久av久久久| 91精品美女在线| 国产亚洲福利一区|