跳到主要内容
claudecookie
返回转换器

JSON Cookie 格式

Cookie 并没有统一的 JSON 格式。常见的有四种结构,它们能保存的信息量各不相同。下面是每一种的样子和它的能力边界。

各格式能保存什么

格式域名有效期标志位
Cookie-Editor 与 EditThisCookie
Puppeteer 与 Playwright
键值对
Cookie 请求头字符串

四种结构

Puppeteer 与 Playwright

page.setCookie() 和 context.addCookies() 接受的格式。有效期字段名为 expires,会话 Cookie 用 -1 表示。sameSite 采用 HTTP 写法:None、Lax 和 Strict。省略 sameSite 会让浏览器应用自己的默认值,因此当它是 unspecified 时我们不写这个字段。

使用场景Puppeteer、Playwright、各类 Selenium 封装

示例
[
  {
    "name": "session_id",
    "value": "8f14e45fceea167a5a36dedd4bea2543",
    "domain": ".example.com",
    "path": "/",
    "expires": 1798761600,
    "httpOnly": false,
    "secure": true
  },
  {
    "name": "auth_token",
    "value": "eyJhbGciOiJIUzI1NiJ9.e30.ZRrHA1JJJW8opsbCGfG_HACGpVUMN_a9IV7pAx_Zmeo",
    "domain": ".example.com",
    "path": "/",
    "expires": 1798761600,
    "httpOnly": true,
    "secure": true
  },
  {
    "name": "theme",
    "value": "dark",
    "domain": "example.com",
    "path": "/account",
    "expires": 1798761600,
    "httpOnly": false,
    "secure": false
  },
  {
    "name": "cart_preview",
    "value": "tmp-4471",
    "domain": ".example.com",
    "path": "/",
    "expires": -1,
    "httpOnly": false,
    "secure": false
  }
]

键值对

一个由名称到值的扁平对象,也就是传给 requests 会话或 axios 配置的东西。除此之外它什么都不保存 — 没有域名,没有有效期,没有标志位。

使用场景Python requests、axios、各类 fetch 封装

示例
{
  "session_id": "8f14e45fceea167a5a36dedd4bea2543",
  "auth_token": "eyJhbGciOiJIUzI1NiJ9.e30.ZRrHA1JJJW8opsbCGfG_HACGpVUMN_a9IV7pAx_Zmeo",
  "theme": "dark",
  "cart_preview": "tmp-4471"
}

格式之间转换会丢失信息

从完整格式转成键值对或请求头是单向的:域名、路径、有效期和标志位无处存放。再转回来,得到的是会话 Cookie,域名取决于你填写的内容。当某次转换会丢数据时,转换器会给出提示。

在转换器中试试

转换器