Commit ac36fdab authored by nanahira's avatar nanahira

use tldts for domain

parent 7ae1fedb
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
"puppeteer": "^24.27.0", "puppeteer": "^24.27.0",
"puppeteer-extra": "^3.3.6", "puppeteer-extra": "^3.3.6",
"puppeteer-extra-plugin-stealth": "^2.11.2", "puppeteer-extra-plugin-stealth": "^2.11.2",
"puppeteer-finder": "^1.1.1" "puppeteer-finder": "^1.1.1",
"tldts": "^7.0.17"
}, },
"devDependencies": { "devDependencies": {
"@types/cookie": "^1.0.0", "@types/cookie": "^1.0.0",
...@@ -6900,6 +6901,24 @@ ...@@ -6900,6 +6901,24 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/tldts": {
"version": "7.0.17",
"resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.17.tgz",
"integrity": "sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ==",
"license": "MIT",
"dependencies": {
"tldts-core": "^7.0.17"
},
"bin": {
"tldts": "bin/cli.js"
}
},
"node_modules/tldts-core": {
"version": "7.0.17",
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.17.tgz",
"integrity": "sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g==",
"license": "MIT"
},
"node_modules/tmpl": { "node_modules/tmpl": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
......
...@@ -4,6 +4,7 @@ import { createPuppeteer } from './create-puppeteer'; ...@@ -4,6 +4,7 @@ import { createPuppeteer } from './create-puppeteer';
import * as cookie from 'cookie'; import * as cookie from 'cookie';
import { createDeferred } from './utility/defer'; import { createDeferred } from './utility/defer';
import { PageRequestWaiter } from './page-request-waiter'; import { PageRequestWaiter } from './page-request-waiter';
import * as tldts from 'tldts';
export interface PuppeteerWorkerOptions { export interface PuppeteerWorkerOptions {
proxy?: string; // url format proxy?: string; // url format
...@@ -118,11 +119,14 @@ export class PuppeteerWorker { ...@@ -118,11 +119,14 @@ export class PuppeteerWorker {
const urlObj = new URL(open.url); const urlObj = new URL(open.url);
if (open.cookie) { if (open.cookie) {
const domain = urlObj.hostname; let cookieDomain = urlObj.hostname;
const domainParts = domain.split('.'); const topDomain = tldts.getDomain(cookieDomain);
const cookieDomain = if (topDomain && cookieDomain !== topDomain) { // baidu.com => baidu.com, but sub.baidu.com => .baidu.com
'.' + cookieDomain = `.${topDomain}`;
(domainParts.length > 2 ? domainParts.slice(-2).join('.') : domain); }
if (urlObj.port) {
cookieDomain += `:${urlObj.port}`;
}
const context = page.browserContext(); const context = page.browserContext();
await context.setCookie( await context.setCookie(
...Object.entries(cookie.parse(open.cookie)).map( ...Object.entries(cookie.parse(open.cookie)).map(
...@@ -159,7 +163,7 @@ export class PuppeteerWorker { ...@@ -159,7 +163,7 @@ export class PuppeteerWorker {
'', '',
); );
const decodedData = new Uint8Array( const decodedData = new Uint8Array(
atob(decodeURIComponent(sanitizedLocalStorage)) atob(sanitizedLocalStorage)
.split('') .split('')
.map((char) => char.charCodeAt(0)), .map((char) => char.charCodeAt(0)),
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment