Lua操作cookie
获取Cookie
获取所有cookie: ngx.var.http_cookie
, 这里获取的是一个字符串,如果不存在则返回nil
。
获取单个cookie: ngx.var.cookie_username
, 获取单个cookie,_
后面的cookie的name,如果不存在则返回nil
。
设置Cookie
ngx.header['Set-Cookie'] = {'a=32; path=/', 'b=4; path=/'} -- 批量设置cookie
ngx.header['Set-Cookie'] = 'a=32; path=/' -- 设置单个cookie,通过多次调用来设置多个值
ngx.header['Set-Cookie'] = 'b=4; path=/'
ngx.header['Set-Cookie'] = 'c=5; path=/; Expires=' .. ngx.cookie_time(ngx.time() + 60 * 30) -- 设置Cookie过期时间为30分钟
熟悉http协议的应该都知道,设置cookie是通过在响应头中的Set-Cookie字段来操作的,既然知道原理那上面的代码应该就很好理解,其实只要知道怎么用lua来设置响应头即可。
文章抄自:宇宙中漂浮的猫