Cookie 字符串转换
在 Cookie 头、Set-Cookie 头与 JSON 之间互转:解析 name=value、Path、Domain、Max-Age、Expires、SameSite、Secure、HttpOnly,支持 URL 解码与非法输入提示。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
多行 Set-Cookie 会解析成数组;Expires 统一归一化成 ISO 8601,Secure / HttpOnly 解析成布尔值。
这个工具能做什么
- 排查登录态问题时把浏览器里复制的 Cookie 头解析成名字与值,看看 sid 到底长什么样、有没有被 URL 编码。
- 写后端或测试时核对 Set-Cookie:Path、Domain、Max-Age、Expires、SameSite、Secure、HttpOnly 会被拆成结构化字段,方便逐项检查。
- 在 JSON 与 Cookie 字符串之间互转:把配置里的 { "a": "1" } 变成 a=1; b=2,或者反过来把 Cookie 头存成 JSON 存档。
- 从 DevTools 一次复制多行 Set-Cookie 时不用逐条处理,工具会按行解析成数组,Expires 统一归一化成 ISO 8601。
示例
输入
Set-Cookie: sid=abc; Path=/; HttpOnly; Max-Age=3600
输出
{
"name": "sid",
"value": "abc",
"path": "/",
"maxAge": 3600,
"httpOnly": true
}输出用固定键顺序,所以同样的输入每次得到的 JSON 完全一致,方便直接做 diff;Secure / HttpOnly 是布尔值,只在为真时出现。
常见问题
为什么 Cookie 头和 Set-Cookie 要分两个模式?
两者结构不同:Cookie 头只是「名字=值」的分号列表,Set-Cookie 则在第一个分号之后跟着一堆属性(Path、Domain、Max-Age 等)。用错模式最常见的症状是把 Path=/ 当成一个 Cookie 解析出来,工具会自动识别格式并提示切换。
URL 解码开关会影响什么?
只影响解析 Cookie 头时的值。打开后 %E4%BD%A0 会还原成「你」,遇到非法的 %XX 序列会报「存在非法的百分号编码」而不是留下乱码;关闭时保留原始字符串,想自己 decodeURIComponent 的话更安全。
Domain 前面的点会保留吗?
不会。按 RFC 6265,前导点会被忽略,所以 Domain=.example.com 与 Domain=example.com 在浏览器看来是同一个作用域,工具的 JSON 里也会规整成不带点的写法。
Expires 为什么不原样输出?
日期写法五花八门(GMT、UTC、带不带逗号),所以解析时统一转成 ISO 8601 字符串便于比较;反向生成 Set-Cookie 时会再转回标准的 UTC 格式(toUTCString)。如果日期本身不合法会直接报错。
转换过程会联网吗?
不会。解析、拼装和 JSON 序列化都是本地字符串处理,Cookie 里往往带有会话凭证,所以工具刻意不发任何请求,也不做记录。
关键词:cookieset-cookiecookie 解析cookie parser请求头请求头解析sessionjson 转换