我正在为lighttpd (与mod_magnet一起运行)编写一个Lua脚本。我想在我的脚本中设置多个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"发布于 2013-09-17 06:24:25
看起来你不走运: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)。这看起来实现起来并不太难,所以可以提交一份bug报告。除此之外,我不认为设置多个cookie有任何变通方法。
发布于 2022-01-22 20:56:51
在lighttpd 1.4.60和更高版本中,lighttpd mod_magnet文档说:
To repeat header names, such as Set-Cookie or Link, join with "\r\nNAME:"
e.g. lighty.r.resp_header["Link"] = "http://a.com/a.css\r\nLink: http:/b.com/b.js"https://stackoverflow.com/questions/18759235
复制相似问题