Jak skonfigurować proxy w Playwright (autoryzacja Browser i Per-Context)
Updated:
Playwright natywnie obsługuje uwierzytelnianie proxy HTTP (server, username, password) w Chromium, Firefox i WebKit od razu po instalacji — bez potrzeby używania rozszerzeń przeglądarki czy zewnętrznych wrapperów. Co więcej, funkcja Per-Context Proxy w Playwright pozwala pojedynczej instancji przeglądarki na uruchamianie dziesiątek odizolowanych sesji BrowserContext, z których każda jest przypisana do własnego statycznego IP VinaProxy.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP50 000 VND
- 3+ IP40 000 VND
- 5+ IP40 000 VND
- 10+ IP32 000 VND
- 50+ IP30 000 VND
- 100+ IP30 000 VND
- 200+ IP30 000 VND
- 500+ IP25 000 VND
Konfiguracja obiektu proxy w Playwright
Przekaż obiekt konfiguracyjny proxy globalnie w chromium.launch({ proxy }) lub dla pojedynczej sesji w browser.newContext({ proxy }):
| Klucz w Playwright | Format wartości | Uwaga techniczna |
|---|---|---|
server | 'http://ip:port' | Tylko host i port, poprzedzone prefiksem http:// |
username | 'user' | Nazwa użytkownika proxy VinaProxy |
password | 'pass' | Hasło proxy VinaProxy (obsługiwane natywnie przy HTTP 407) |
bypass | 'localhost,127.0.0.1' | Opcjonalna lista hostów omijających proxy, rozdzielona przecinkami |
Wydajne uruchamianie wielu BrowserContexts z różnymi IP
- W systemach Windows i macOS przekaż tymczasowy obiekt
proxy: { server: 'http://per-context' }wchromium.launch(), gdy planujesz nadpisaćproxyw poszczególnych wywołaniachbrowser.newContext() - Ustaw
timezoneIdorazlocalewbrowser.newContext()wraz z proxy, aby nagłówki i interfejsy APIIntlw JS odpowiadały lokalizacji proxy - Anuluj niepotrzebne żądania obrazów i czcionek za pomocą
page.route(), aby zwiększyć przepustowość scrapingu
Krok po kroku
- 1
Pobierz ip, port, username i password
Skopiuj dane logowania
ip:port:user:passz panelu VinaProxy. - 2
Przekaż obiekt proxy do newContext()
Wywołaj
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } }). - 3
Dopasuj timezoneId i locale
Dołącz
timezoneIdorazlocaleodpowiadające lokalizacji Twojego proxy (np.America/New_YorklubAsia/Ho_Chi_Minh). - 4
Zweryfikuj wyjściowy adres IP na nowej stronie
Otwórz
const page = await context.newPage()i wyślij zapytanie dohttps://vinaproxy.com/api/my-ip.
Często zadawane pytania
Dlaczego Playwright zgłasza błąd 'Proxy is only supported when browser is launched with a proxy'?
W systemach Windows i macOS Chromium wymaga globalnej flagi proxy podczas uruchamiania, zanim zezwoli na nadpisywanie per-context. Uruchom przeglądarkę z chromium.launch({ proxy: { server: 'http://per-context' } }), a następnie przekaż właściwe proxy do każdego browser.newContext({ proxy }).
Czy proxy VinaProxy działają również z Firefox i WebKit w Playwright?
Tak. Dokładnie ta sama składnia proxy: { server, username, password } działa w Chromium, Firefox i WebKit zarówno w Node.js, jak i Python.
Czy transfer danych jest limitowany podczas uruchamiania przeglądarek Playwright w trybie headless?
Nie. Wszystkie plany VinaProxy Dedicated IPv4 oraz Static ISP obejmują nielimitowany miesięczny transfer danych.
Skaluj BrowserContexts w Playwright z dedykowanymi statycznymi IP
Błyskawiczne proxy HTTP(S) bez limitu danych w 7 globalnych lokalizacjach.
Kup proxy dla Playwright