Puppeteer-də (Node.js) autentifikasiyalı proksi necə quraşdırılır
Updated:
Puppeteer Chrome və Chromium-u DevTools Protokolu (CDP) vasitəsilə idarə edir və HTTP 407 proksi autentifikasiyası üçün yerli await page.authenticate({ username, password }) API-si təqdim edir. --proxy-server=http://ip:port parametri ilə page.authenticate() metodunu birlikdə istifadə etmək Node.js skreperlərinin heç bir xarici brauzer əlavəsi olmadan VinaProxy statik proksiləri vasitəsilə yönləndirilməsini təmin edir.
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 İP40.000 ₫
- 5+ İP35.000 ₫
- 10+ İP25.000 ₫
- 20+ İP25.000 ₫
- 50+ İP25.000 ₫
- 100+ İP25.000 ₫
- 200+ İP25.000 ₫
- 500+ İP25.000 ₫
- 1000+ İP22.000 ₫
- 2000+ İP20.000 ₫
- 1 İP40.000 ₫
- 5+ İP35.000 ₫
- 10+ İP25.000 ₫
- 20+ İP25.000 ₫
- 50+ İP25.000 ₫
- 100+ İP25.000 ₫
- 200+ İP25.000 ₫
- 500+ İP25.000 ₫
- 1000+ İP22.000 ₫
- 2000+ İP20.000 ₫
Puppeteer-də iki addımlı proksi konfiqurasiyası
Heç vaxt user:pass@ məlumatlarını --proxy-server işəsalma arqumentinin daxilinə yerləşdirməyin. Əvəzində, işə salarkən host və portu ötürün, autentifikasiyanı isə Page instansiyasında həyata keçirin:
| Addım | Puppeteer Kodu | Niyə vacibdir |
|---|---|---|
| 1. Chromium-u işə salın | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Chromium-un şəbəkə soketini VinaProxy proksinizə yönləndirir |
| 2. Səhifəni autentifikasiya edin | await page.authenticate({ username, password }) | HTTP 407 sorğuları üçün CDP giriş məlumatlarını təmin edir |
| 3. Keçid edin | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Hədəf URL-i autentifikasiyadan keçmiş tunel vasitəsilə yükləyir |
proxy-chain ilə vərəqlər üzrə bir neçə proksinin rotasiyası
page.authenticate()metodunun hər birPagevərəqi üçün ayrıca tətbiq edildiyini unutmayın — onubrowser.newPage()tərəfindən qaytarılan hər yeni vərəqdə çağırın- Tək bir Chromium prosesi daxilindəki inkognito kontekstlərdə fərqli proksilərdən istifadə etmək üçün hər bir
http://user:pass@ip:portURL-iniproxy-chainnpm paketi (anonymizeProxy()) ilə bükün vəproxyServerparametrinibrowser.createBrowserContext({ proxyServer })metoduna ötürün puppeteer-extravəpuppeteer-extra-plugin-stealthilə uyğundur
Addım-addım
- 1
--proxy-server=http://ip:port parametrini puppeteer.launch() metoduna ötürün
Brauzeri
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });ilə işə salın. - 2
Yeni səhifədə await page.authenticate() metodunu çağırın
const page = await browser.newPage();ilə vərəq açın vəawait page.authenticate({ username: 'USER', password: 'PASS' });çağırın. - 3
Çıxış IP ünvanını yoxlayın
await page.goto('https://vinaproxy.com/api/my-ip');kodunu işə salın və qaytarılan JSON-u yoxlayın. - 4
Brauzer proseslərini təmizləyin
Tapşırıq bitdikdə
await browser.close();çağırın.
Tez-tez verilən suallar
Puppeteer niyə `ERR_NO_SUPPORTED_PROXIES` xətası verir?
Bu xəta user:pass@ məlumatlarını --proxy-server=http://user:pass@ip:port daxilinə əlavə etdikdə baş verir. --proxy-server=http://ip:port parametrini sadə saxlayın və giriş məlumatlarını await page.authenticate({ username, password }) vasitəsilə ötürün.
`browser.newPage()` ilə açılan ikinci vərəq niyə HTTP 407 xətası ilə uğursuz oldu?
page.authenticate() hər vərəq üçün ayrıca tətbiq edilir. Yeni açılan hər hansı bir vərəqdə keçid etməzdən əvvəl await secondPage.authenticate({ username, password }) metodunu çağırın.
Headless Chrome skrepinqi üçün VinaProxy proksiləri limitsizdirmi?
Bəli. Bütün Dedicated IPv4 və Static ISP planlarına limitsiz aylıq trafik daxildir.
Node.js Puppeteer sisteminizi statik IP-lərlə gücləndirin
7 ölkədə dərhal aktivləşən limitsiz Dedicated IPv4 və Static ISP proksiləri.
Puppeteer Proksiləri Alın