如何在单个 Webrick 响应中设置多个 cookie?
How do I set multiple cookies in a single Webrick response?
我使用 Webrick 来测试我的 HTTP 客户端,我需要测试它如何获取和设置 cookie。
维基百科 provides 此类响应的示例:
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...
但如果我这样做
server.mount_proc ?/ do |req, res|
res["set-cookie"] = %w{ 1=2 2=3 }
整个数组变成一个cookie:"[\"1=2\", \"2=3\"]"
然后在 WEBrick::HTTPResponse
source code 中我再次看到 @header = Hash.new
这可能意味着你不能重复 header 键。
不可能吗?!
更新:
这让我没有希望:
应该使用另一种方法代替 res[...]=
:
res.cookies.push WEBrick::Cookie.new("1", "2")
res.cookies.push WEBrick::Cookie.new("3", "4")
res.cookies.push WEBrick::Cookie.new("1", "5")
我使用 Webrick 来测试我的 HTTP 客户端,我需要测试它如何获取和设置 cookie。
维基百科 provides 此类响应的示例:
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...
但如果我这样做
server.mount_proc ?/ do |req, res|
res["set-cookie"] = %w{ 1=2 2=3 }
整个数组变成一个cookie:"[\"1=2\", \"2=3\"]"
然后在 WEBrick::HTTPResponse
source code 中我再次看到 @header = Hash.new
这可能意味着你不能重复 header 键。
不可能吗?!
更新:
这让我没有希望:
应该使用另一种方法代替 res[...]=
:
res.cookies.push WEBrick::Cookie.new("1", "2")
res.cookies.push WEBrick::Cookie.new("3", "4")
res.cookies.push WEBrick::Cookie.new("1", "5")