Перейти к содержимому
claudecookie
Вернуться к конвертеру

JSON-форматы кук

Единого JSON-формата для кук не существует. В ходу четыре разных структуры, и они хранят разный объём информации. Вот как выглядит каждая и что она умеет.

Что какой формат умеет хранить

ФорматДоменСрок жизниФлаги
Cookie-Editor и EditThisCookieДаДаДа
Puppeteer и PlaywrightДаДаДа
Словарь key-valueНетНетНет
Строка заголовка CookieНетНетНет

Четыре структуры

Puppeteer и Playwright

То, что принимают page.setCookie() и context.addCookies(). Срок жизни называется expires, для сессионных кук используется -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
  }
]

Словарь key-value

Плоский объект «имя — значение». Именно его передают в сессию requests или в конфиг axios. Больше он не хранит ничего: ни домена, ни срока жизни, ни флагов.

Где используетсяPython requests, axios, обёртки над fetch

Пример
{
  "session_id": "8f14e45fceea167a5a36dedd4bea2543",
  "auth_token": "eyJhbGciOiJIUzI1NiJ9.e30.ZRrHA1JJJW8opsbCGfG_HACGpVUMN_a9IV7pAx_Zmeo",
  "theme": "dark",
  "cart_preview": "tmp-4471"
}

Конвертация между ними теряет информацию

Переход из полного формата в key-value или строку заголовка — дорога в одну сторону: домену, пути, сроку жизни и флагам негде сохраниться. Обратная конвертация даст сессионные куки с тем доменом, который вы укажете. Конвертер предупреждает, когда преобразование приведёт к потере данных.

Попробовать в конвертере

Конвертер