كيفية إعداد بروكسي معتمد في Puppeteer (دليل Node.js)

آخر تحديث:

يتحكم Puppeteer في Chrome و Chromium عبر بروتوكول DevTools (CDP)، ويوفر واجهة برمجة تطبيقات أصلية 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 خاص (مراكز بيانات)
🇺🇸 United States
متوفر
من
‏20,000 ₫ / IP / شهريًا
≈ ‏0.74 US$ · الدفع بـ VND
أسعار الكميات المخفضة
  • 1 IP‏40,000 ₫
  • 5+ IP‏35,000 ₫
  • 10+ IP‏25,000 ₫
  • 20+ IP‏25,000 ₫
  • 50+ IP‏25,000 ₫
  • 100+ IP‏25,000 ₫
  • 200+ IP‏25,000 ₫
  • 500+ IP‏25,000 ₫
  • 1000+ IP‏22,000 ₫
  • 2000+ IP‏20,000 ₫
شراء United States
IPv4 خاص (مراكز بيانات)
🇸🇬 Singapore
متوفر
من
‏20,000 ₫ / IP / شهريًا
≈ ‏0.74 US$ · الدفع بـ VND
أسعار الكميات المخفضة
  • 1 IP‏40,000 ₫
  • 5+ IP‏35,000 ₫
  • 10+ IP‏25,000 ₫
  • 20+ IP‏25,000 ₫
  • 50+ IP‏25,000 ₫
  • 100+ IP‏25,000 ₫
  • 200+ IP‏25,000 ₫
  • 500+ IP‏25,000 ₫
  • 1000+ IP‏22,000 ₫
  • 2000+ IP‏20,000 ₫
شراء Singapore
بروكسي حسب المنصة:web-scrapingseo-rank-trackingyoutube

إعداد البروكسي على خطوتين في Puppeteer

لا تضع إطلاقاً بيانات user:pass@ داخل وسيطة بدء التشغيل --proxy-server. بدلاً من ذلك، مرر المضيف والمنفذ عند بدء التشغيل وقم بالمصادقة على كائن Page:

الخطوةكود Puppeteerالأهمية التقنية
1. تشغيل Chromiumpuppeteer.launch({ args: ['--proxy-server=http://ip:port'] })يوجه مقبس شبكة Chromium مباشرة إلى خادم بروكسي VinaProxy الخاص بك
2. توثيق الصفحةawait 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()) ومرره إلى 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؟

يحدث هذا الخطأ عند كتابة بيانات الاعتماد ضمن وسيطة البدء: --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 عند كشط الويب بدون واجهة رسومية؟

لا. تشمل جميع خطط IPv4 المخصصة و ISP الثابتة من VinaProxy حركة بيانات غير محدودة شهرياً.

عزز كفاءة أدوات Puppeteer في Node.js بعناوين IP ثابتة ومخصصة

بروكسيات IPv4 مخصصة و ISP ثابتة غير محدودة مع تفعيل فوري في 7 دول حول العالم.

شراء بروكسيات Puppeteer

مقالات ذات صلة

بروكسي حسب المنصة
بروكسي لكشط الويب: مجموعات عناوين IPv4 وISP مخصصة غير محدودة لروبوتات 24/7
بروكسيات HTTP(S) IPv4 مخصصة وISP ثابتة فائقة السرعة لـ Python وPlaywright وSelenium وScrapy مع حركة بيانات شهرية غير محدودة.
إعداد البروكسي
كيفية إعداد بروكسي في Playwright (مصادقة على مستوى المتصفح ولكل Context)
قم بإعداد بروكسيات HTTP(S) معتمدة وموثقة في Playwright لـ Node.js و Python. شغّل عناوين IP ثابتة ومعزولة متعددة عبر BrowserContexts.
إعداد البروكسي
كيفية إعداد بروكسي في Node.js (Axios و Native Fetch)
تعرف على كيفية تكوين بروكسيات HTTP(S) معتمدة في Node.js و TypeScript باستخدام https-proxy-agent مع Axios و Undici ProxyAgent مع دالة fetch الأصلية.
أدوات مجانية
محول صيغ البروكسي الجماعي (معالجة آمنة 100% داخل المتصفح)
أداة تنسيق قوائم البروكسي الجماعية تعمل 100% داخل المتصفح. تحويل فوري بين ip:port:user:pass و user:pass@ip:port وروابط http:// و SOCKS5 ومصفوفات JSON وملفات FoxyProxy.
بروكسي حسب المنصة
بروكسي لـ SEO وتتبع نتائج البحث (SERP): ترتيب دقيق للكلمات المفتاحية عبر 7 دول
تتبع ترتيب الكلمات المفتاحية المحلية، ودقق عمليات إعادة التوجيه الجغرافي، وشغل Screaming Frog مع بروكسيات IPv4 مخصصة وISP ثابتة غير محدودة.
بروكسي حسب المنصة
بروكسي YouTube: اعزل قنوات Studio المتعددة وحسابات AdSense عبر عناوين IP ثابتة
اعزل قنوات YouTube Studio وحسابات AdSense ببروكسيات ISP سكنية ثابتة وIPv4 مخصصة مع حركة بيانات غير محدودة في أمريكا وفيتنام واليابان وبريطانيا.
IPV4 · united states
بروكسيات IPv4 أمريكية خاصة: عناوين سريعة ومخصصة لمراكز البيانات في أمريكا
بروكسيات IPv4 أمريكية خاصة لجمع البيانات وتتبع الترتيب وفحص الإعلانات وAmazon. عنوان ثابت، مستخدم واحد لكل IP، حركة غير محدودة وتفعيل سريع.
IPV4 · singapore
بروكسيات IPv4 سنغافورة خاصة: عناوين SG سريعة ومخصصة للمتاجر والإعلانات الإقليمية
بروكسيات IPv4 سنغافورة خاصة لمتاجر Lazada وShopee SG والحسابات الإعلانية والأتمتة بزمن استجابة منخفض. حركة بيانات غير محدودة وتفعيل سريع.