راه اندازی با یک پروکسی و معتبر#
import puppeteer from "puppeteer";
const browser = await puppeteer.launch({
headless: true,
args: ["--proxy-server=http://res.proxy-cyber.com:9000", "--no-first-run"],
});
const page = await browser.newPage();
await page.authenticate({ username: "USER-cc-us-sid-run1-ttl-30m", password: "PASS" });
await page.goto("https://api.ipify.org", { waitUntil: "domcontentloaded", timeout: 45000 });
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();از یک شناسه جلسه متمایز برای هر جریان کاری مستقل استفاده کنید، جایی که دروازه اختصاص داده شده از آن پشتیبانی می کند. اعتبارسنجی مجاز مدت و پارامترهای مکان در جزئیات اتصال شما را تأیید می کند.یک دستگاه مسکونی می تواند قبل از مدت درخواست شده قطع شود؛ یک جلسه چسبنده تضمین کننده همان IP برای روزها نیست.
یک پروکسی در هر مرورگر#
سطح راه اندازی - تنظیمات پروکسی-server در مورد مسیریابی پیش فرض مرورگر اعمال می شود. فعلی Puppeteer همچنین از پروکسیServer در مرورگر پشتیبانی می کند.CreateBrowserContext()، با اعتبار ارائه شده از طریق صفحه.authenticate().استفاده از زمینه های جداگانه برای تنظیمات پروکسی مختلف و مدیران داده های کاربر جداگانه برای پروفایل های مداوم؛ تأیید خروج از داخل هر زمینه.
تصاویر، فونت ها و رسانه ها را مسدود کنید#
await page.setRequestInterception(true);
page.on("request", (req) => {
const t = req.resourceType();
if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
req.continue();
});عدم صلاحیت#
- Set Set
Accept-Languageمنطقه زمانی به کشور خروج:page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"})وpage.emulateTimezone(\"Europe/Berlin\"). - نشت های WebRTC با
--force-webrtc-ip-handling-policy=disable_non_proxied_udpدر راه اندازی Args - یک مرورگر را در هر حساب نگه دارید؛ اگر حساب باید شبیه یک دستگاه بازگشتی باشد، از دایرکتوری داده های کاربر خود استفاده کنید.
اشتباهاتی که شما با آن مواجه خواهید شد#
| Symptom | علت علت علت | رفع مشکل |
|---|---|---|
| شبکه:ERR TUNNEL CONNECTION FAILED | دروازه از CONNECT امتناع کرد: اعتبار، پارامتر یا هیچ خروجی | Reproduce با cURL -v برای خواندن کد دروازه |
| شبکه:ERR PROXY AUTH UNSUPPORTED / Rapids | () معتبر پس از ناوبری نامیده می شود | صفحه Call.authenticate قبل از goto |
| همان IP در هر مرورگر | همان جلسه ای که استفاده مجدد شد | استفاده از یک خصیصه متمایز در هر مرورگر یا حذف آن |
| اولین بار بسیار آهسته | خروجی خانگی به علاوه صفحه سنگین | منابع بلوک؛ افزایش زمان به ۴۵ |
پرسش هایی که مردم می پرسند#
آیا Puppeteer می تواند از SOCKS5 با یک رمز عبور استفاده کند؟
Chrome از احراز هویت SOCKS5 پشتیبانی نمی کند، از پروکسی HTTP در پورت 9000 با page.authenticate یا Whitelist your server IP و pass -proxy-server=socks5://res.proxy-cyber.com:9001.