无法使用lua-resty-cookie获取cookie

时间:2016-12-13 10:06:04

标签: nginx lua openresty

我试图在openresty项目中使用lua-resty-cookie。 我在一次请求中使用lua-resty-cookie方式很难获得cookie密钥。

nginx.conf:


...
/testcookie {

local ck = require "cookie"
local mycookie, err = ck:new()
if not mycookie then
  ngx.log(ngx.ERR, err)
  return ngx.say("assign failed: ",err)
end

local ok, err = mycookie:set({ key = "ckey", 
      value = "cvalue" })

if not ok then
  ngx.log(ngx.ERR, err)
  return ngx.say("set failed: ",err)
end

local field, err = mycookie:get('ckey')
if not field then
  ngx.log(ngx.ERR, err)
  return ngx.say("get failed: ",err)
end

return ngx.say('ckey: ',field)
}

...

我得到的是"失败:在当前请求中找不到cookie \ x {0a}"

我这样做错了吗? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

为响应当前请求而发送的lua-resty-cookie set cookie的set()方法(Set-Cookie标头)。

get()方法用于从当前请求(Cookie标头)中提取Cookie。

因此,您在响应中设置cookie,然后尝试在请求中找到它; - )