VVinaProxy

Ինչպես կարգավորել նույնականացվող պրոքսի Puppeteer-ում (Node.js)

Updated:

Puppeteer-ը կառավարում է Chrome-ը և Chromium-ը DevTools Protocol-ի (CDP) միջոցով՝ տրամադրելով ներկառուցված await page.authenticate({ username, password }) API՝ 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 IP40 000 ₫
  • 5+ IP35 000 ₫
  • 10+ IP25 000 ₫
  • 20+ IP25 000 ₫
  • 50+ IP25 000 ₫
  • 100+ IP25 000 ₫
  • 200+ IP25 000 ₫
  • 500+ IP25 000 ₫
  • 1000+ IP22 000 ₫
  • 2000+ IP20 000 ₫
Գնել Միացյալ Նահանգներ
Անձնական IPv4 (datacenter)
🇸🇬 Սինգապուր
Առկա է
Սկսած
20 000 ₫ / IP / ամիս
≈ 0,74 $ · գանձվում է VND-ով
Ծավալային գնագոյացում
  • 1 IP40 000 ₫
  • 5+ IP35 000 ₫
  • 10+ IP25 000 ₫
  • 20+ IP25 000 ₫
  • 50+ IP25 000 ₫
  • 100+ IP25 000 ₫
  • 200+ IP25 000 ₫
  • 500+ IP25 000 ₫
  • 1000+ IP22 000 ₫
  • 2000+ IP20 000 ₫
Գնել Սինգապուր
Պրոքսիներ ըստ հարթակների:web-scrapingseo-rank-trackingyoutube

Պրոքսիի երկքայլ կարգավորում Puppeteer-ում

Երբեք մի՛ ներառեք user:pass@-ը --proxy-server գործարկման արգումենտի մեջ: Փոխարենը, գործարկման պահին փոխանցեք host-ն ու port-ը և նույնականացումն անցեք Page ինստանսի վրա:

ՔայլPuppeteer-ի կոդԻնչու է դա կարևոր
1. Գործարկել Chromium-ըpuppeteer.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' })Բեռնում է թիրախային URL-ը նույնականացված թունելով

Մի քանի պրոքսիների ռոտացիա ներդիրների միջև proxy-chain-ի միջոցով

  • Հիշեք, որ page.authenticate()-ը գործում է յուրաքանչյուր Page ներդիրի համար առանձին. կանչեք այն browser.newPage()-ի միջոցով բացված ամեն նոր ներդիրի վրա
  • Մեկ Chromium պրոցեսի ներսում ինկոգնիտո կոնտեքստների միջև տարբեր պրոքսիներ օգտագործելու համար փաթեթավորեք յուրաքանչյուր http://user:pass@ip:port URL proxy-chain npm փաթեթով (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 բոլոր սակագնային պլանները ներառում են ամսական անսահմանափակ թրաֆիկ:

Ապահովեք ձեր Node.js Puppeteer համակարգը ստատիկ IP-ներով

Ակնթարթային անսահմանափակ Dedicated IPv4 և Static ISP պրոքսիներ 7 երկրում:

Գնել Puppeteer պրոքսիներ

Related articles

Պրոքսիներ ըստ հարթակների
Պրոքսիներ Web Scraping-ի համար․ անսահմանափակ առանձնացված IPv4 և ISP պուլեր 24/7 crawler-ների համար
Արագ HTTP(S) առանձնացված IPv4 և ստատիկ ISP պրոքսիներ Python-ի, Playwright-ի, Selenium-ի և Scrapy-ի համար՝ անսահմանափակ տրաֆիկով։ Համեմատեք սակագներն ու սկսեք։
Պրոքսիի կարգավորում
Ինչպես կարգավորել պրոքսի Playwright-ում (Browser և Per-Context նույնացում)
Կարգավորեք նույնացմամբ HTTP(S) պրոքսիներ Playwright-ում (Node.js, Python) և գործարկեք մեկուսացված ստատիկ IP-ներ BrowserContext-ներում։ Պատճենեք օրինակները։
Պրոքսիի կարգավորում
Ինչպես կարգավորել պրոքսի Node.js-ում (Axios և Native Fetch)
Կարգավորեք նույնականացվող HTTP(S) պրոքսիներ Node.js-ում և TypeScript-ում՝ օգտագործելով https-proxy-agent-ը Axios-ի և Undici ProxyAgent-ը native fetch-ի հետ:
Անվճար գործիքներ
Պրոքսի ֆորմատի զանգվածային փոխարկիչ (100% Client-Side)
100% client-side պրոքսի ֆորմատավորիչ: Փոխարկեք ip:port:user:pass, user:pass@ip:port, http:// URL-ների, SOCKS5 URI-ների, JSON զանգվածների և FoxyProxy-ի միջև:
Պրոքսիներ ըստ հարթակների
Պրոքսիներ SEO-ի և SERP մոնիթորինգի համար. բանալի բառերի ճշգրիտ դիրքեր 7 երկրում
Հետևեք բանալի բառերի դիրքերին, ստուգեք geo-վերահասցեավորումները և կատարեք Screaming Frog քրոլինգ 7 երկրի անսահմանափակ անհատական IPv4 և ISP պրոքսիներով:
Պրոքսիներ ըստ հարթակների
Պրոքսիներ YouTube-ի համար. մեկուսացրեք բազմաալիք Studio և AdSense հաշիվները
Մեկուսացրեք YouTube Studio ալիքներն ու AdSense հաշիվները ԱՄՆ-ի, Վիետնամի, Ճապոնիայի և ՄԹ անսահմանափակ Static ISP ու հատկացված IPv4 պրոքսիներով։
IPV4 · united states
ԱՄՆ անձնական IPv4 պրոքսիներ. արագ, առանձնացված ամերիկյան Datacenter IP-ներ
Առանձնացված ԱՄՆ անձնական IPv4 պրոքսիներ սքրեյփինգի, դիրքերի հետևման, գովազդի և Amazon-ի համար: Ստատիկ IP, մեկ օգտատեր, անսահմանափակ թրաֆիկ, արագ ակտիվացում:
IPV4 · singapore
Սինգապուրի անձնական IPv4 պրոքսիներ. արագ, նվիրված SG IP-ներ տարածաշրջանային առևտրի և գովազդի համար
Սինգապուրի նվիրված IPv4 պրոքսիներ Lazada, Shopee SG խանութների, տարածաշրջանային գովազդի, ստուգման ու ցածր հապաղմամբ ավտոմատացման համար: Անսահմանափակ թրաֆիկ: