如何使用Lua接口设置多个Cookie

时间:2013-09-12 08:29:45

标签: cookies lua lighttpd

我正在为lighttpd编写一个Lua脚本(使用mod_magnet运行)。我想在我的脚本中设置多个cookie,但我不知道该怎么做。

我可以用这个设置一个cookie:

lighty.header['Set-Cookie'] = 'Foo=bar'

我尝试过设置多个Cookie:

lighty.header['Set-Cookie'] = {'Foo=bar', 'bar=Foo'}

但它无效

我也试过了,但没有成功:

lighty.header['set-Cookie'] = {}

lighty.header['set-Cookie']['Foo'] = "bar"

lighty.header['set-Cookie']['bar'] = "Foo"

1 个答案:

答案 0 :(得分:0)

看起来你运气不好:https://github.com/lighttpd/lighttpd1.4/blob/master/src/mod_magnet.c#L711

mod_magnet将键和值视为字符串,并覆盖您之前为该标题设置的任何内容,这样您只能获得每个键的一个标题。

如果查看here,您会看到Set-Cookie标头必须是每行一个。但是,服务器应该使用单个Cookie标头进行响应。

理想情况下,mod_magnet允许您使用表格作为标题的值(such as in node.js)。它看起来并不太难实现,所以可能会提交错误报告。除此之外,我认为没有任何解决方法可以设置多个cookie。