VVinaProxy

របៀបដំឡើង Proxy ដែលមានការផ្ទៀងផ្ទាត់ក្នុង Puppeteer (Node.js)

Updated:

Puppeteer គ្រប់គ្រង Chrome និង Chromium តាមរយៈ DevTools Protocol (CDP) ដោយផ្តល់នូវ native API await page.authenticate({ username, password }) សម្រាប់ការផ្ទៀងផ្ទាត់ HTTP 407 proxy។ ការផ្គូផ្គង --proxy-server=http://ip:port ជាមួយ page.authenticate() អនុញ្ញាតឱ្យ Node.js scraper របស់អ្នកដំណើរការតាមរយៈ static proxy របស់ VinaProxy ដោយមិនចាំបាច់មាន browser extension ពីខាងក្រៅឡើយ។

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₫
ទិញ សិង្ហបុរី
Proxy តាមផ្លែតហ្វម:web-scrapingseo-rank-trackingyoutube

ការកំណត់ Proxy ជា 2 ជំហានក្នុង Puppeteer

កុំបង្កប់ user:pass@ នៅក្នុង launch argument --proxy-server ឱ្យសោះ។ ផ្ទុយទៅវិញ សូមបញ្ជូន host និង port នៅពេល launch ហើយផ្ទៀងផ្ទាត់នៅលើ instance របស់ Page៖

ជំហានកូដ Puppeteerមូលហេតុដែលសំខាន់
1. Launch Chromiumpuppeteer.launch({ args: ['--proxy-server=http://ip:port'] })ភ្ជាប់ network socket របស់ Chromium ទៅកាន់ proxy របស់ VinaProxy
2. ផ្ទៀងផ្ទាត់ Pageawait page.authenticate({ username, password })ផ្តល់ព័ត៌មានសម្ងាត់ CDP សម្រាប់ការស្នើសុំ HTTP 407
3. បើកទៅកាន់ទំព័រawait page.goto(url, { waitUntil: 'domcontentloaded' })ផ្ទុក URL គោលដៅតាមរយៈ tunnel ដែលបានផ្ទៀងផ្ទាត់រួច

ការបង្វិល Proxy ច្រើនឆ្លងកាត់ Tab ជាមួយ proxy-chain

  • សូមចងចាំថា page.authenticate() មានដែនកំណត់សម្រាប់តែ tab Page នីមួយៗប៉ុណ្ណោះ — សូមហៅវាលើគ្រប់ tab ថ្មីទាំងអស់ដែលបានមកពី browser.newPage()
  • ដើម្បីប្រើ proxy ផ្សេងៗគ្នានៅទូទាំង incognito context ក្នុង process របស់ Chromium តែមួយ សូមរុំព័ទ្ធ URL http://user:pass@ip:port នីមួយៗជាមួយ npm package proxy-chain (anonymizeProxy()) ហើយបញ្ជូន proxyServer ទៅ browser.createBrowserContext({ proxyServer })
  • អាចប្រើរួមគ្នាបានជាមួយ puppeteer-extra និង puppeteer-extra-plugin-stealth

មួយជំហានម្តងៗ

  1. 1

    បញ្ជូន --proxy-server=http://ip:port ទៅកាន់ puppeteer.launch()

    ដំណើរការ browser ជាមួយ const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });។

  2. 2

    ហៅ await page.authenticate() នៅលើទំព័រថ្មី

    បើក tab មួយជាមួយ 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

    បិទសម្អាត process របស់ browser

    ហៅ 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 })។

ហេតុអ្វីបានជា tab ទី 2 ដែលបើកជាមួយ `browser.newPage()` ទទួលបរាជ័យដោយមាន HTTP 407?

page.authenticate() ដំណើរការដាច់ដោយឡែកសម្រាប់ tab នីមួយៗ។ សូមហៅ await secondPage.authenticate({ username, password }) មុនពេលបើកចូលតំណភ្ជាប់លើ tab ថ្មីណាមួយ។

តើ proxy របស់ VinaProxy មិនកំណត់ទំហំទិន្នន័យ (unmetered) សម្រាប់ការ scrape លើ headless Chrome ដែរឬទេ?

បាទ/ចាសពិតមែន។ គម្រោង Dedicated IPv4 និង Static ISP ទាំងអស់រួមបញ្ចូល bandwidth ប្រចាំខែដោយមិនកំណត់។

ពង្រឹងប្រព័ន្ធ Node.js Puppeteer របស់អ្នកជាមួយ static IP

Proxy ប្រភេទ Dedicated IPv4 និង Static ISP មិនកំណត់ទិន្នន័យភ្លាមៗនៅទូទាំង 7 ប្រទេស។

ទិញ Puppeteer Proxy

Related articles

Proxy តាមផ្លែតហ្វម
Proxy សម្រាប់ Web Scraping: អាង Dedicated IPv4 និង ISP គ្មានដែនកំណត់សម្រាប់ Crawler 24/7
Proxy HTTP(S) Dedicated IPv4 និង Static ISP លឿនសម្រាប់ Python, Playwright, Selenium និង Scrapy ជាមួយ bandwidth មិនកំណត់ប្រចាំខែ។ ប្រៀបធៀបគម្រោងហើយចាប់ផ្តើម។
ការដំឡើង Proxy
របៀបកំណត់រចនាសម្ព័ន្ធ proxy ក្នុង Playwright (Browser & Per-Context Auth)
កំណត់ proxy HTTP(S) មានការផ្ទៀងផ្ទាត់ក្នុង Playwright សម្រាប់ Node.js និង Python ព្រមទាំងដំណើរការ static IP ដាច់ដោយឡែកជាច្រើនលើ BrowserContexts។ ចម្លងឧទាហរណ៍។
ការដំឡើង Proxy
របៀបដំឡើង Proxy ក្នុង Node.js (Axios & Native Fetch)
កំណត់ HTTP(S) proxy មានការផ្ទៀងផ្ទាត់ក្នុង Node.js និង TypeScript ដោយប្រើ https-proxy-agent ជាមួយ Axios និង Undici ProxyAgent ជាមួយ native fetch។
ឧបករណ៍ឥតគិតថ្លៃ
ឧបករណ៍បម្លែងទម្រង់ Proxy ច្រើន (ដំណើរការលើ Browser 100%)
ឧបករណ៍បម្លែងបញ្ជី proxy ច្រើនក្នុង browser 100%។ បម្លែងរវាង ip:port:user:pass, user:pass@ip:port, http:// URLs, SOCKS5 URIs, JSON arrays និងឯកសារ FoxyProxy។
Proxy តាមផ្លែតហ្វម
Proxy សម្រាប់តាមដាន SEO & SERP: ចំណាត់ថ្នាក់ពាក្យគន្លឹះសុក្រឹតទូទាំង 7 ប្រទេស
តាមដានចំណាត់ថ្នាក់ពាក្យគន្លឹះតាមតំបន់ ពិនិត្យ geo-redirect និង crawl តាម Screaming Frog ជាមួយ proxy IPv4 ផ្តាច់មុខ និង Static ISP គ្មានដែនកំណត់ក្នុង 7 ប្រទេស។
Proxy តាមផ្លែតហ្វម
ប្រូកស៊ីសម្រាប់ YouTube៖ ញែកគណនី Studio និង AdSense ច្រើនប៉ុស្តិ៍ដាច់ពីគ្នា
ញែកប៉ុស្តិ៍ YouTube Studio និងគណនី AdSense ដាច់ដោយឡែកជាមួយប្រូកស៊ី Static ISP មិនកំណត់ទិន្នន័យ និង IPv4 ផ្ទាល់ខ្លួននៅអាមេរិក វៀតណាម ជប៉ុន និងចក្រភពអង់គ្លេស។
IPV4 · united states
US Private IPv4 Proxy៖ Datacenter IP អាមេរិកផ្ទាល់ខ្លួន ល្បឿនលឿន
Proxy IPv4 ឯកជន US សម្រាប់ scraping តាមដានចំណាត់ថ្នាក់ ពិនិត្យពាណិជ្ជកម្ម និងស្រាវជ្រាវ Amazon។ IP ថេរ អ្នកប្រើ 1 នាក់/IP bandwidth មិនកំណត់ ដំណើរការរហ័ស។
IPV4 · singapore
ប្រូកស៊ី IPv4 ឯកជនសិង្ហបុរី៖ IP SG ផ្ដាច់មុខល្បឿនលឿនសម្រាប់លក់ និងផ្សាយពាណិជ្ជកម្មក្នុងតំបន់
Proxy IPv4 ឯកជនសិង្ហបុរីផ្ដាច់មុខសម្រាប់ហាង Lazada, Shopee SG គណនីពាណិជ្ជកម្មតំបន់ ផ្ទៀងផ្ទាត់ពាណិជ្ជកម្ម និងស្វ័យប្រវត្តិកម្ម latency ទាប។ ទិន្នន័យមិនកំណត់។