Opción 1: lista blanca de IP (recomendada para servidores)#
Solicita en Acceso la autorización del IPv4 público de salida real del servidor y espera a que el administrador lo active. NAT o una VPN pueden cambiar la dirección que ve el gateway. El acceso sin contraseña funciona solo tras confirmar la entrada para el servicio entregado. La lista permitida no transmite parámetros de usuario; confirma por separado la ubicación y la sesión. lista blanca
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
opts = Options()
opts.add_argument("--proxy-server=http://res.proxy-cyber.com:9000")
opts.add_argument("--headless=new")
driver = webdriver.Chrome(options=opts)
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()Opción 2: autenticación WebDriver BiDi #
El ejemplo utiliza la API WebDriver BiDi mantenida por Selenium: enable_bidi y network.add_auth_handler. Prueba la autenticación del proxy HTTP con el navegador y el controlador instalados antes de iniciar el trabajo. El controlador no se limita a un host; usa una sesión aislada sin otras solicitudes de credenciales. Si tu combinación de versiones no lo admite, utiliza una lista de IP autorizadas activada.
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.enable_bidi = True
options.add_argument("--proxy-server=" + os.environ["PROXY_SERVER"])
with webdriver.Chrome(options=options) as driver:
handler = driver.network.add_auth_handler(
os.environ["PROXY_USER"], os.environ["PROXY_PASSWORD"]
)
try:
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
finally:
driver.network.remove_auth_handler(handler)Firefox#
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
opts = Options()
opts.set_preference("network.proxy.type", 1)
opts.set_preference("network.proxy.http", "res.proxy-cyber.com")
opts.set_preference("network.proxy.http_port", 9000)
opts.set_preference("network.proxy.ssl", "res.proxy-cyber.com")
opts.set_preference("network.proxy.ssl_port", 9000)
opts.set_preference("media.peerconnection.enabled", False) # no WebRTC leak
driver = webdriver.Firefox(options=opts) # whitelisted server, no promptReglas prácticas#
- Asigna un identificador de sesión distinto a cada flujo independiente cuando el gateway lo admita. Confirma la duración y los parámetros geográficos en los datos de conexión. Un dispositivo residencial puede desconectarse antes del plazo solicitado; una sesión persistente no garantiza la misma IP durante días. Para una dirección fija, compara productos estáticos dedicados.
- uso
--headless=newen Chrome; el antiguo modo sin interfaz gráfica tiene una huella dactilar distintiva. - Los identificadores de sesión separan preferencias de ruta, pero no las cookies ni el estado de la aplicación. Empieza con pocos procesos, mide errores y tráfico y aumenta gradualmente dentro de los límites confirmados para el pedido y el destino. Limitar la selección a una ciudad u operador puede reducir la capacidad disponible.
Preguntas que hace la gente#
¿Por qué Chrome muestra un mensaje de inicio de sesión proxy con Selenium?
Para un servidor fijo, usa una lista de IP autorizadas activada o prueba el controlador de autenticación WebDriver BiDi de Selenium actual con tu navegador. No bases una integración nueva en Selenium Wire archivado.