Cookie 与账号导入指南
学习如何将现有 Cookie、账号凭证和会话数据导入 NestBrowser 配置文件,快速启动已有账号管理工作。
导入现有 Cookie 和账号数据是 NestBrowser 最实用的功能之一。无论是迁移旧设备上的账号、从其他浏览器迁移,还是恢复已养成的账号环境,Cookie 导入功能都能让你跳过漫长的手动登录过程,直接进入工作状态。
为什么 Cookie 导入很重要?
对于多账号运营者来说,Cookie 代表着账号状态:登录凭证、会话令牌、平台个性化设置。
如果你正在:
- 迁移已有账号:从旧设备或其他浏览器迁移到 NestBrowser
- 团队移交账号:将账号控制权从一名运营人员转交给另一人,同时保留登录状态
- 恢复备份:从保存的备份还原账号状态
- 最小化检测风险:已养成的账号(有浏览历史和 Cookie)比全新账号检测风险更低
支持的导入格式
NestBrowser 支持以下 Cookie 格式导入:
- JSON 格式(Chrome/Chromium 扩展导出格式)
- Netscape 格式(文本文件,被 curl 和各工具广泛支持)
- Base64 编码格式(用于批量操作的 API 格式)
方式一:通过 Cookie 文件导入
第一步:从源浏览器导出 Cookie
使用 Chrome 扩展导出
安装”Cookie Editor”类扩展(如 EditThisCookie),在登录了目标账号后:
- 导航到目标网站(如 amazon.com)
- 点击扩展图标
- 点击”导出”→ 选择 JSON 格式
- 保存文件(如
amazon-account-a.json)
导出的 JSON Cookie 格式示例:
[
{
"domain": ".amazon.com",
"expirationDate": 1734567890,
"httpOnly": true,
"name": "session-id",
"path": "/",
"sameSite": "unspecified",
"secure": true,
"value": "xxx-xxxxxxx-xxxxxxx"
}
]
第二步:在 NestBrowser 中导入
- 在配置文件列表中找到目标配置文件
- 点击配置文件右侧的更多操作图标
- 选择导入 Cookie
- 上传导出的 JSON 文件
- 确认导入
第三步:验证登录状态
启动配置文件,导航到对应网站,验证是否已处于登录状态。
方式二:通过 API 批量导入
对于需要批量处理的场景,可以通过 NestBrowser 本地 API 程序化导入 Cookie。
导入 Cookie 的 API 调用
const axios = require('axios');
async function importCookies(profileId, cookies) {
const response = await axios.post(
'http://localhost:19222/api/v1/browser/cookies/import',
{
id: profileId,
cookies: cookies, // 数组格式的 Cookie 对象
}
);
return response.data;
}
// 使用示例
const cookieData = require('./amazon-account-a.json');
await importCookies('profile-uuid', cookieData);
批量处理多个账号
const fs = require('fs');
const path = require('path');
const axios = require('axios');
async function batchImportCookies(mappingFile) {
// mapping.json 格式: [{ "profileId": "xxx", "cookieFile": "account-a.json" }]
const mapping = JSON.parse(fs.readFileSync(mappingFile, 'utf8'));
for (const item of mapping) {
const cookies = JSON.parse(
fs.readFileSync(item.cookieFile, 'utf8')
);
await importCookies(item.profileId, cookies);
console.log(`已导入配置文件 ${item.profileId} 的 Cookie`);
// 避免请求过快
await new Promise(r => setTimeout(r, 500));
}
}
方式三:使用 Puppeteer/Playwright 注入 Cookie
如果你在使用自动化框架,可以通过代码直接注入 Cookie:
Puppeteer 示例
const puppeteer = require('puppeteer-core');
const axios = require('axios');
async function loginWithCookies(profileId, cookieData) {
// 启动配置文件
const { data } = await axios.post(
`http://localhost:19222/api/v1/browser/start?id=${profileId}`
);
const browser = await puppeteer.connect({
browserWSEndpoint: data.ws.puppeteer,
defaultViewport: null,
});
const page = await browser.newPage();
// 先导航到目标域名
await page.goto('https://www.amazon.com');
// 注入 Cookie
await page.setCookie(...cookieData);
// 刷新页面,Cookie 现在已生效
await page.reload();
// 验证登录状态
const isLoggedIn = await page.evaluate(() => {
return document.querySelector('#nav-link-accountList')
?.textContent.includes('Hello') ?? false;
});
console.log(`账号登录状态: ${isLoggedIn ? '已登录' : '未登录'}`);
return browser;
}
各平台 Cookie 说明
亚马逊
亚马逊使用多个关键 Cookie 维持登录状态:
session-id:主要会话标识符at-main、x-main:身份验证令牌ubid-main:用户 ID Cookie
导入这些 Cookie 后,应验证卖家后台(Seller Central)是否能正常访问。
Facebook / Meta
Facebook 的 Cookie 包括:
c_user:用户 IDxs:会话令牌datr:设备 Cookie(对账号识别很重要)
⚠️ 注意:Facebook 的 datr Cookie 与设备指纹关联紧密。如果你将此 Cookie 从一个指纹配置文件迁移到另一个,可能触发安全验证。建议在相同配置文件环境下操作。
TikTok
TikTok 的关键 Cookie:
sessionid:主要会话 Cookiett_csrf_token:CSRF 保护令牌ttwid:设备标识符
通用注意事项
- Cookie 有效期:大多数平台的 Cookie 会在 30–90 天后过期,过期后需重新登录并导出
- 双重验证:导入 Cookie 不能绕过双重验证,需确保账号 2FA 已正常配置
- 会话令牌安全:Cookie 文件中包含敏感凭证,请妥善保管,不要将其提交到代码仓库或不安全的存储中
导出 Cookie 备份
定期备份你的账号 Cookie 是一个好习惯:
async function exportCookies(profileId) {
// 通过 Puppeteer 导出
const page = await getPageForProfile(profileId);
await page.goto('https://www.amazon.com');
const cookies = await page.cookies();
const fs = require('fs');
const timestamp = new Date().toISOString().split('T')[0];
fs.writeFileSync(
`backup-${profileId}-${timestamp}.json`,
JSON.stringify(cookies, null, 2)
);
console.log(`已保存 ${cookies.length} 个 Cookie`);
}