VVinaProxy

نحوه تنظیم پروکسی دارای احراز هویت در Puppeteer (Node.js)

Updated:

ابزار Puppeteer مرورگرهای Chrome و Chromium را از طریق پروتکل DevTools (یا CDP) کنترل می‌کند و یک API بومی به نام await page.authenticate({ username, password }) را برای احراز هویت پروکسی HTTP 407 ارائه می‌دهد. ترکیب --proxy-server=http://ip:port با page.authenticate() به اسکریپت‌های اسکرپینگ Node.js شما امکان می‌دهد ترافیک خود را بدون نیاز به هیچ افزونه مرورگر جانبی، از طریق پروکسی‌های استاتیک VinaProxy هدایت کنند.

Puppeteer · HTTP Proxy Format
--proxy-server=http://ip:port + page.authenticate({ username, password })
پروکسی اختصاصی IPv4 (دیتاسنتری)
🇺🇸 ایالات متحده
موجود
از
‎₫۲۰٬۰۰۰ / هر IP / ماه
≈ ‎$۰٫۷۴ · صورت‌حساب به VND
تخفیف پله‌ای بر اساس تعداد
  • 1 آی‌پی‎₫۴۰٬۰۰۰
  • +5 آی‌پی‎₫۳۵٬۰۰۰
  • +10 آی‌پی‎₫۲۵٬۰۰۰
  • +20 آی‌پی‎₫۲۵٬۰۰۰
  • +50 آی‌پی‎₫۲۵٬۰۰۰
  • +100 آی‌پی‎₫۲۵٬۰۰۰
  • +200 آی‌پی‎₫۲۵٬۰۰۰
  • +500 آی‌پی‎₫۲۵٬۰۰۰
  • +1000 آی‌پی‎₫۲۲٬۰۰۰
  • +2000 آی‌پی‎₫۲۰٬۰۰۰
خرید در ایالات متحده
پروکسی اختصاصی IPv4 (دیتاسنتری)
🇸🇬 سنگاپور
موجود
از
‎₫۲۰٬۰۰۰ / هر IP / ماه
≈ ‎$۰٫۷۴ · صورت‌حساب به VND
تخفیف پله‌ای بر اساس تعداد
  • 1 آی‌پی‎₫۴۰٬۰۰۰
  • +5 آی‌پی‎₫۳۵٬۰۰۰
  • +10 آی‌پی‎₫۲۵٬۰۰۰
  • +20 آی‌پی‎₫۲۵٬۰۰۰
  • +50 آی‌پی‎₫۲۵٬۰۰۰
  • +100 آی‌پی‎₫۲۵٬۰۰۰
  • +200 آی‌پی‎₫۲۵٬۰۰۰
  • +500 آی‌پی‎₫۲۵٬۰۰۰
  • +1000 آی‌پی‎₫۲۲٬۰۰۰
  • +2000 آی‌پی‎₫۲۰٬۰۰۰
خرید در سنگاپور
پروکسی برای پلتفرم‌ها:web-scrapingseo-rank-trackingyoutube

پیکربندی دو مرحله‌ای پروکسی در Puppeteer

هرگز user:pass@ را داخل آرگومان راه‌اندازی --proxy-server قرار ندهید. در عوض، هاست و پورت را هنگام اجرا ارسال کرده و روی نمونه Page احراز هویت کنید:

مرحلهکد Puppeteerعلت اهمیت
1. راه‌اندازی Chromiumpuppeteer.launch({ args: ['--proxy-server=http://ip:port'] })سوکت شبکه Chromium را به سمت پروکسی VinaProxy شما هدایت می‌کند
2. احراز هویت Pageawait page.authenticate({ username, password })اطلاعات ورود CDP را برای چالش‌های HTTP 407 ارسال می‌کند
3. ناوبری و هدایت به آدرسawait page.goto(url, { waitUntil: 'domcontentloaded' })آدرس اینترنتی هدف را از طریق تونل احراز هویت‌شده بارگذاری می‌کند

چرخش چندین پروکسی بین تب‌ها با proxy-chain

  • به یاد داشته باشید که محدوده کاری page.authenticate() برای هر تب Page مجزاست؛ بنابراین آن را روی هر تب جدیدی که توسط browser.newPage() باز می‌شود فراخوانی کنید
  • برای استفاده از پروکسی‌های مختلف در کانتکست‌های ناشناس داخل یک فرایند Chromium، هر آدرس http://user:pass@ip:port را با پکیج npm به نام proxy-chain (متد anonymizeProxy()) کپسوله‌سازی کرده و proxyServer را به browser.createBrowserContext({ proxyServer }) ارسال کنید
  • سازگار با puppeteer-extra و puppeteer-extra-plugin-stealth

گام به گام

  1. 1

    ارسال --proxy-server=http://ip:port به puppeteer.launch()

    مرورگر را با دستور const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }); اجرا کنید.

  2. 2

    فراخوانی await page.authenticate() در صفحه جدید

    یک تب را با const page = await browser.newPage(); باز کرده و await page.authenticate({ username: 'USER', password: 'PASS' }); را فراخوانی کنید.

  3. 3

    تست آدرس IP خروجی

    دستور await page.goto('https://vinaproxy.com/api/my-ip'); را اجرا کرده و JSON خروجی را بررسی کنید.

  4. 4

    بستن فرایندهای مرورگر

    پس از پایان کار، دستور await browser.close(); را فراخوانی کنید.

پرسش‌های متداول

چرا Puppeteer خطای `ERR_NO_SUPPORTED_PROXIES` را نمایش می‌دهد؟

این خطا زمانی رخ می‌دهد که user:pass@ را داخل --proxy-server=http://user:pass@ip:port قرار دهید. مقدار --proxy-server=http://ip:port را تمیز نگه دارید و مشخصات ورود را از طریق await page.authenticate({ username, password }) ارسال کنید.

چرا تب دوم باز شده با `browser.newPage()` با خطای HTTP 407 مواجه شد؟

دستور page.authenticate() برای هر تب به طور جداگانه اعمال می‌شود. قبل از ناوبری در هر تب تازه باز شده، await secondPage.authenticate({ username, password }) را فراخوانی کنید.

آیا پروکسی‌های VinaProxy برای اسکرپینگ با Chrome بدون سر (headless) نامحدود هستند؟

بله. تمام پلن‌های Dedicated IPv4 و Static ISP شامل پهنای باند ماهانه نامحدود هستند.

ناوگان Node.js Puppeteer خود را با IPهای استاتیک قدرتمند کنید

پروکسی‌های فوری و نامحدود Dedicated IPv4 و Static ISP در 7 کشور مختلف.

خرید پروکسی‌های Puppeteer

Related articles

پروکسی برای پلتفرم‌ها
پروکسی برای وب اسکرپینگ: استخرهای نامحدود IPv4 اختصاصی و ISP برای خزنده‌های 24/7
پروکسی‌های سریع اختصاصی IPv4 و ISP ثابت با پروتکل HTTP(S) برای Python، Playwright، Selenium و Scrapy با ترافیک ماهانه نامحدود. پلن‌ها را مقایسه و شروع کنید.
راه‌اندازی پروکسی
نحوه تنظیم پروکسی در Playwright (احراز هویت در سطح مرورگر و Per-Context)
پروکسی‌های احراز هویت‌شده HTTP(S) را در Playwright برای Node.js و Python تنظیم و چندین IP ثابت ایزوله در BrowserContextها اجرا کنید. نمونه‌ها را کپی کنید.
راه‌اندازی پروکسی
نحوه تنظیم پروکسی در Node.js (Axios و Fetch بومی)
آموزش پیکربندی پروکسی‌های دارای احراز هویت HTTP(S) در Node.js و TypeScript با پکیج https-proxy-agent در Axios و ماژول Undici ProxyAgent در fetch بومی.
ابزارهای رایگان
مبدل گروهی فرمت پروکسی (100% سمت کلاینت)
فرمت‌کننده گروهی پروکسی، 100% سمت کلاینت. تبدیل بین ip:port:user:pass، user:pass@ip:port، آدرس‌های http://، URIهای SOCKS5، آرایه‌های JSON و خروجی‌های FoxyProxy.
پروکسی برای پلتفرم‌ها
پروکسی برای سئو و بررسی SERP: رتبه‌بندی دقیق کلمات کلیدی در 7 کشور
رتبه‌بندی محلی کلمات کلیدی و ریدایرکت‌های جغرافیایی را با پروکسی‌های نامحدود IPv4 اختصاصی و ISP ثابت در 7 کشور ارزیابی کنید و کراول Screaming Frog انجام دهید.
پروکسی برای پلتفرم‌ها
پروکسی برای یوتیوب: تفکیک کانال‌های استودیو و حساب‌های AdSense
کانال‌های YouTube Studio و حساب‌های AdSense را با پروکسی‌های نامحدود Static ISP و IPv4 اختصاصی در آمریکا، ویتنام، ژاپن و بریتانیا تفکیک کنید.
IPV4 · united states
پروکسی‌های اختصاصی IPv4 آمریکا: آی‌پی‌های دیتاسنتر سریع و اختصاصی
پروکسی‌های اختصاصی IPv4 آمریکا برای اسکرپینگ، بررسی رتبه، تحلیل تبلیغات و تحقیق در آمازون. آی‌پی ثابت، تک‌کاربره، پهنای باند نامحدود و فعال‌سازی سریع.
IPV4 · singapore
پروکسی‌های اختصاصی IPv4 سنگاپور: آی‌پی‌های سریع و اختصاصی SG برای فروش و تبلیغات منطقه‌ای
پروکسی اختصاصی IPv4 سنگاپور برای فروشگاه‌های Lazada و Shopee SG، اکانت‌های تبلیغاتی منطقه‌ای، تایید تبلیغات و اتوماسیون کم‌تاخیر با ترافیک نامحدود.