我有一个情况,我想在 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 中列出)
1 回答
GCT1015
TA贡献1827条经验 获得超4个赞
JSON 使用了许多RFC不允许在 HTTP cookie 值中使用的字符 - 例如,不允许使用双引号、逗号和空格字符。通过 cookie 传输 JSON 数据的最简单方法可能是在设置 cookie 时对其进行 Base64 编码,并在读取 cookie 时使用包进行 Base64 解码。encoding/base64
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消