Opção 1: lista branca de IP (recomendado para servidores)#
Solicite em Acesso a autorização do IPv4 público de saída real do servidor e aguarde a ativação pelo administrador. NAT ou uma VPN podem alterar o endereço visto pelo gateway. O acesso sem palavra-passe só funciona após a confirmação da entrada para o serviço atribuído. A lista de IPs não transmite parâmetros de utilizador; confirme a localização e a sessão separadamente. lista branca
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()Opção 2: autenticação WebDriver BiDi #
O exemplo utiliza a API WebDriver BiDi mantida pelo Selenium: enable_bidi e network.add_auth_handler. Teste a autenticação do proxy HTTP com o navegador e o controlador instalados antes de iniciar o trabalho. O controlador não se limita a um host; utilize uma sessão isolada sem outros pedidos de credenciais. Se a sua combinação de versões não o permitir, use uma lista de IPs autorizados ativada.
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 promptRegras práticas#
- Atribua um identificador de sessão diferente a cada fluxo independente quando o gateway o permitir. Confirme a duração e os parâmetros geográficos nos dados de ligação. Um dispositivo residencial pode desligar-se antes do prazo pedido; uma sessão persistente não garante o mesmo IP durante dias. Para um endereço fixo, compare produtos estáticos dedicados.
- Usar
--headless=newno Chrome; o antigo modo sem interface gráfica tem uma impressão digital distinta. - Os identificadores de sessão separam preferências de encaminhamento, mas não cookies nem o estado da aplicação. Comece com poucos processos, meça erros e tráfego e aumente gradualmente dentro dos limites confirmados para a encomenda e o destino. Restringir a seleção a uma cidade ou operadora pode reduzir a capacidade disponível.
Perguntas que as pessoas fazem#
Por que o Chrome mostra um prompt de login de proxy com Selenium?
Num servidor fixo, use uma lista de IPs autorizados ativada ou teste o controlador de autenticação WebDriver BiDi do Selenium atual com o seu navegador. Não baseie uma integração nova no Selenium Wire arquivado.