Cómo configurar un proxy en Playwright (autenticación global y por contexto)
Actualizado:
Playwright admite de forma nativa la autenticación de proxies HTTP (server, username, password) en Chromium, Firefox y WebKit sin requerir extensiones del navegador ni librerías externas. Además, la funcionalidad Per-Context Proxy de Playwright permite que una sola instancia del navegador ejecute decenas de sesiones BrowserContext aisladas, cada una asociada a su propia IP estática de VinaProxy.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP40.000 ₫
- 5+ IPs35.000 ₫
- 10+ IPs25.000 ₫
- 20+ IPs25.000 ₫
- 50+ IPs25.000 ₫
- 100+ IPs25.000 ₫
- 200+ IPs25.000 ₫
- 500+ IPs25.000 ₫
- 1000+ IPs22.000 ₫
- 2000+ IPs20.000 ₫
- 1 IP50.000 ₫
- 3+ IPs40.000 ₫
- 5+ IPs40.000 ₫
- 10+ IPs32.000 ₫
- 50+ IPs30.000 ₫
- 100+ IPs30.000 ₫
- 200+ IPs30.000 ₫
- 500+ IPs25.000 ₫
Configuración del objeto proxy en Playwright
Pasa el objeto de configuración proxy de forma global en chromium.launch({ proxy }) o de forma individual por sesión en browser.newContext({ proxy }):
| Parámetro de Playwright | Formato del valor | Nota técnica |
|---|---|---|
server | 'http://ip:port' | Solo host y puerto, siempre con prefijo http:// |
username | 'user' | Nombre de usuario del proxy obtenido en el panel de VinaProxy |
password | 'pass' | Contraseña del proxy (Playwright gestiona automáticamente el desafío HTTP 407) |
bypass | 'localhost,127.0.0.1' | Lista opcional separada por comas de hosts que no usarán el proxy |
Prácticas recomendadas para BrowserContexts con múltiples IPs
- En Windows y macOS, pasa un proxy comodín
proxy: { server: 'http://per-context' }enchromium.launch()si planeas redefinir el proxy en llamadas individuales abrowser.newContext() - Define
timezoneIdylocaleenbrowser.newContext()para que coincidan con la ubicación del proxy, alineando encabezados y las APIsIntlde JavaScript - Cancela solicitudes innecesarias de imágenes y fuentes con
page.route()para acelerar drásticamente la tasa de extracción de datos
Paso a paso
- 1
Obtén IP, puerto, usuario y contraseña
Copia tus credenciales en formato
ip:port:user:passdesde el panel de control de VinaProxy. - 2
Pasa el objeto proxy a newContext()
Llama a
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } }). - 3
Alinea timezoneId y locale
Configura
timezoneIdylocalecorrespondientes al país de tu proxy (por ejemplo,America/New_YorkoAsia/Ho_Chi_Minh). - 4
Verifica la IP de salida en una nueva página
Abre una pestaña con
const page = await context.newPage()y solicitahttps://vinaproxy.com/api/my-ippara comprobar la dirección asignada.
Preguntas frecuentes
¿Por qué Playwright muestra el error 'Proxy is only supported when browser is launched with a proxy'?
En Windows y macOS, Chromium necesita un parámetro global de proxy al iniciarse antes de permitir la sobreescritura en contextos individuales. Inicia el navegador con chromium.launch({ proxy: { server: 'http://per-context' } }) y luego pasa el proxy real a cada browser.newContext({ proxy }).
¿Los proxies de VinaProxy funcionan también en Firefox y WebKit dentro de Playwright?
Sí. La misma sintaxis proxy: { server, username, password } funciona exactamente igual en Chromium, Firefox y WebKit tanto en Node.js como en Python.
¿El ancho de banda es medido al ejecutar navegadores Playwright en modo headless?
No. Todos los planes de IPv4 dedicada e ISP estático de VinaProxy incluyen tráfico mensual ilimitado.
Escala tus BrowserContexts en Playwright con IPs estáticas dedicadas
Proxies HTTP(S) rápidos e ilimitados en 7 ubicaciones estratégicas del mundo.
Comprar proxies para Playwright