VVinaProxy

כיצד להגדיר פרוקסי עם אימות ב-Puppeteer (Node.js)

Updated:

‏Puppeteer שולט ב-Chrome וב-Chromium באמצעות DevTools Protocol (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 פרטי (datacenter)
🇺🇸 ארצות הברית
זמין במלאי
החל מ-
‏20,000 ‏₫ / IP / חודש
≈ ‏0.74 ‏$ · החיוב ב-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 ‏₫
קנייה ב-ארצות הברית
IPv4 פרטי (datacenter)
🇸🇬 סינגפור
זמין במלאי
החל מ-
‏20,000 ‏₫ / IP / חודש
≈ ‏0.74 ‏$ · החיוב ב-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 ‏₫
קנייה ב-סינגפור
פרוקסי לפי פלטפורמה:web-scrapingseo-rank-trackingyoutube

הגדרת פרוקסי בשני שלבים ב-Puppeteer

לעולם אל תטמיעו user:pass@ בתוך ארגומנט ההפעלה --proxy-server. במקום זאת, העבירו את ה-host וה-port בעת ההפעלה ובצעו אימות על מופע ה-Page:

שלבקוד Puppeteerמדוע זה חשוב
1. הפעלת Chromiumpuppeteer.launch({ args: ['--proxy-server=http://ip:port'] })מכוון את socket הרשת של Chromium אל פרוקסי ה-VinaProxy שלכם
2. אימות ה-Pageawait page.authenticate({ username, password })מספק פרטי התחברות ב-CDP עבור אתגרי אימות של HTTP 407
3. ניווטawait page.goto(url, { waitUntil: 'domcontentloaded' })טוען את כתובת ה-URL של היעד דרך המנהרה המאומתת

רוטציה של מספר שרתי פרוקסי בין כרטיסיות באמצעות proxy-chain

  • זכרו ש-page.authenticate() מוגדר ברמת כרטיסיית Page בודדת – יש לקרוא לו בכל כרטיסייה חדשה שמוחזרת מ-browser.newPage()
  • כדי להשתמש בשרתי פרוקסי שונים בין הקשרי גלישה בסתר (incognito contexts) בתוך תהליך Chromium יחיד, עטפו כל כתובת URL בתבנית 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 הם ללא הגבלת תעבורה עבור סריקה ב-headless Chrome?

כן. כל חבילות ה-Dedicated IPv4 וה-Static ISP כוללות רוחב פס חודשי ללא הגבלה.

שדרגו את צי ה-Puppeteer שלכם ב-Node.js עם כתובות IP סטטיות

שרתי פרוקסי מסוג Dedicated IPv4 ו-Static ISP מיידיים ללא הגבלת תעבורה ב-7 מדינות.

קנו פרוקסי ל-Puppeteer

Related articles

פרוקסי לפי פלטפורמה
פרוקסי לאיסוף נתונים: מאגרי 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 ו-ProxyAgent של Undici עם fetch מובנה.
כלים חינמיים
ממיר פורמט פרוקסי בכמויות (100% בצד הלקוח)
מעצב רשימות פרוקסי בכמויות, 100% בצד הלקוח. המרה בין ip:port:user:pass, user:pass@ip:port, כתובות http://, מזהי SOCKS5 URI, מערכי JSON וייצוא FoxyProxy.
פרוקסי לפי פלטפורמה
פרוקסי למעקב SEO ו-SERP: דירוגי מילות מפתח מדויקים ב-7 מדינות
עקבו אחר דירוגי מילות מפתח מקומיים, בדקו הפניות גיאוגרפיות והריצו סריקות ב-Screaming Frog עם פרוקסי IPv4 ייעודי ו-ISP סטטי ללא הגבלת תעבורה ב-7 מדינות.
פרוקסי לפי פלטפורמה
פרוקסי ל-YouTube: הפרדת חשבונות Studio ו-AdSense מרובי ערוצים
בצעו הפרדה מלאה בין ערוצי YouTube Studio וחשבונות AdSense באמצעות פרוקסי ISP סטטי ו-IPv4 ייעודי ללא הגבלת תעבורה בארה"ב, וייטנאם, יפן ובריטניה.
IPV4 · united states
פרוקסי IPv4 פרטי לארה"ב: כתובות Datacenter אמריקאיות מהירות וייעודיות
פרוקסי IPv4 פרטי ייעודי לארה"ב לגירוד נתונים, מעקב דירוגים, בדיקת מודעות ומחקר באמזון. כתובת IP סטטית, משתמש יחיד לכל IP, תעבורה ללא הגבלה והפעלה מהירה.
IPV4 · singapore
פרוקסי IPv4 פרטי בסינגפור: כתובות IP ייעודיות ומהירות ב-SG למכירות ומודעות אזוריות
פרוקסי IPv4 פרטי וייעודי בסינגפור לחנויות Lazada ו-Shopee SG, חשבונות מודעות אזוריים, אימות מודעות ואוטומציה בהשהיה נמוכה. תעבורת נתונים ללא הגבלה.