| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // Shared cookie parser utilities
- export type CookieData = {
- name: string;
- value: string;
- domain: string;
- path: string;
- };
- // Domain map used by different platforms
- const domainMap: Record<string, string> = {
- douyin: '.douyin.com',
- xiaohongshu: '.xiaohongshu.com',
- weixin_video: '.qq.com',
- toutiao: '.toutiao.com',
- baijiahao: '.baidu.com',
- qie: '.qq.com',
- dayuhao: '.alibaba.com',
- };
- export function parseCookieString(cookieString: string, platform: string): CookieData[] {
- const domain = domainMap[platform] || `.${platform}.com`;
- const cookies: CookieData[] = [];
- const pairs = cookieString.split(';');
- for (const pair of pairs) {
- const trimmed = pair.trim();
- if (!trimmed) continue;
- const eqIndex = trimmed.indexOf('=');
- if (eqIndex === -1) continue;
- const name = trimmed.substring(0, eqIndex).trim();
- const value = trimmed.substring(eqIndex + 1).trim();
- if (name && value) {
- cookies.push({ name, value, domain, path: '/' });
- }
- }
- return cookies;
- }
|