跳到主内容
UniKit

Cookie 字符串转换

在 Cookie 头、Set-Cookie 头与 JSON 之间互转:解析 name=value、Path、Domain、Max-Age、Expires、SameSite、Secure、HttpOnly,支持 URL 解码与非法输入提示。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

只影响解析 Cookie 头时的 value
结果

多行 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 转换

同类工具