Kuinka määrittää välityspalvelin Playwrightissa (selain- ja kontekstikohtainen todennus)
Updated:
Playwright tukee natiivia HTTP-välityspalvelimen todennusta (server, username, password) suoraan paketista Chromium-, Firefox- ja WebKit-selaimissa – ilman selainlaajennuksia tai kolmannen osapuolen kääreitä. Vielä parempaa on se, että Playwrightin Per-Context Proxy -ominaisuuden avulla yksi selaininstanssi voi ajaa kymmeniä eristettyjä BrowserContext-istuntoja, joista jokainen on sidottu omaan staattiseen VinaProxy-IP-osoitteeseensa.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP40 000 VND
- 5+ IP:tä35 000 VND
- 10+ IP:tä25 000 VND
- 20+ IP:tä25 000 VND
- 50+ IP:tä25 000 VND
- 100+ IP:tä25 000 VND
- 200+ IP:tä25 000 VND
- 500+ IP:tä25 000 VND
- 1000+ IP:tä22 000 VND
- 2000+ IP:tä20 000 VND
- 1 IP50 000 VND
- 3+ IP:tä40 000 VND
- 5+ IP:tä40 000 VND
- 10+ IP:tä32 000 VND
- 50+ IP:tä30 000 VND
- 100+ IP:tä30 000 VND
- 200+ IP:tä30 000 VND
- 500+ IP:tä25 000 VND
Playwrightin proxy-objektin määritys
Välitä proxy-määritysobjekti joko globaalisti komennossa chromium.launch({ proxy }) tai istuntokohtaisesti komennossa browser.newContext({ proxy }):
| Playwright-avain | Arvon muoto | Tekninen huomautus |
|---|---|---|
server | 'http://ip:port' | Vain isäntä ja portti, etuliitteenä http:// |
username | 'user' | VinaProxy-välityspalvelimesi käyttäjätunnus |
password | 'pass' | VinaProxy-välityspalvelimesi salasana (käsitellään natiivisti HTTP 407 -virheessä) |
bypass | 'localhost,127.0.0.1' | Valinnainen pilkuilla eroteltu lista isännistä, jotka ohittavat välityspalvelimen |
Usean IP-osoitteen BrowserContext-istuntojen tehokas ajaminen
- Määritä Windows- ja macOS-käyttöjärjestelmissä paikkamerkki
proxy: { server: 'http://per-context' }komennonchromium.launch()sisällä aina, kun aiot ohittaaproxy-asetuksen yksittäisissäbrowser.newContext()-kutsuissa - Aseta
timezoneIdjalocalekomennossabrowser.newContext()välityspalvelimesi ohella, jotta otsikot ja JS:nIntl-rajapinnat vastaavat välityspalvelimen maata - Keskeytä tarpeettomat kuva- ja fonttipyynnöt komennolla
page.route()nopeuttaaksesi tiedonkeruun läpimenoaikaa
Vaihe vaiheelta
- 1
Hae ip, portti, käyttäjätunnus ja salasana
Kopioi
ip:port:user:pass-tunnuksesi VinaProxy-hallintapaneelista. - 2
Välitä proxy-objekti newContext()-funktioon
Kutsu
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } }). - 3
Yhdenmukaista timezoneId ja locale
Määritä välityspalvelimen sijaintia vastaavat
timezoneIdjalocale(esim.America/New_YorktaiAsia/Ho_Chi_Minh). - 4
Varmista lähtevä IP-osoite uudella sivulla
Avaa
const page = await context.newPage()ja tee pyyntö osoitteeseenhttps://vinaproxy.com/api/my-ip.
Usein kysytyt kysymykset
Miksi Playwright antoi virheen 'Proxy is only supported when browser is launched with a proxy'?
Windows- ja macOS-käyttöjärjestelmissä Chromium vaatii globaalin välityspalvelinlipun käynnistyksen yhteydessä ennen kuin kontekstikohtaiset ohitukset sallitaan. Käynnistä selain komennolla chromium.launch({ proxy: { server: 'http://per-context' } }) ja välitä sen jälkeen todellinen välityspalvelin kuhunkin browser.newContext({ proxy }) -kutsuun.
Toimivatko VinaProxy-välityspalvelimet myös Playwrightin Firefox- ja WebKit-selaimissa?
Kyllä. Täsmälleen sama proxy: { server, username, password } -syntaksi toimii Chromiumissa, Firefoxissa ja WebKitissä sekä Node.js- että Python-ympäristöissä.
Mitataanko kaistanleveyttä, kun Playwright-selaimia ajetaan headless-tilassa?
Ei. Kaikki VinaProxy-palvelun Dedicated IPv4- ja Static ISP -tilaukset sisältävät rajattoman kuukausittaisen tiedonsiirron.
Skaalaa Playwrightin BrowserContext-istuntoja erillisillä staattisilla IP-osoitteilla
Heti käyttövalmiit rajattomat HTTP(S)-välityspalvelimet 7 maailmanlaajuisessa sijainnissa.
Osta Playwright-välityspalvelimia