无法读取 JSON cookie

我有一个情况,我想在 Go 中读取 cookie 的内容。但是 cookie 的内容是 JSON 格式。(无法更改 cookie 的格式)

例如 cookie 的内容可能是:

{"id":"abc","data":"information","on_off":false}

在 JavaScript 中,我可以轻松读取 cookie 的内容并解析它。

另一方面,使用 Go 时,当我尝试使用 读取 cookie 时,r.Cookie('my_cookie')出现以下错误:http: named cookie not present

如果我将 cookie 修改为一个简单的字符串,那么它会按预期工作。

有谁知道在这种情况下该怎么办?在 Go 中是否无法读取这样的 cookie?

当我使用 时r.Header.Get["Cookie"],它返回的输出确实包含 cookie 及其 JSON 值(在所有其他 cookie 中列出)


慕沐林林
浏览 163回答 1
1回答

GCT1015

JSON 使用了许多RFC不允许在 HTTP cookie 值中使用的字符 - 例如,不允许使用双引号、逗号和空格字符。通过 cookie 传输 JSON 数据的最简单方法可能是在设置 cookie 时对其进行 Base64 编码,并在读取 cookie 时使用包进行 Base64 解码。encoding/base64
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go