Opzione 1: whitelist IP (consigliata per i server)#
Invia l'IPv4 pubblico in uscita effettivo del server in Access e attendi l'attivazione dell'amministratore. NAT o VPN possono modificare l'indirizzo visto dal gateway. L'accesso senza password funziona solo dopo la conferma dell'ingresso per il servizio assegnato. Conferma le opzioni del paese e della sessione separatamente; una lista consentita di IP di origine non invia parametri nome utente. lista bianca
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()Opzione 2: autenticazione WebDriver BiDi #
L'esempio utilizza l'API WebDriver BiDi gestita da Selenium, con Enable_bidi e network.add_auth_handler. Testare un test proxy HTTP con il browser e il driver installati prima di utilizzarlo in un lavoro. Il gestore non è limitato a un host, quindi utilizza una sessione del browser isolata senza richieste di autenticazione non correlate. Se l'autenticazione proxy non è supportata nella combinazione di versioni, utilizza una lista consentita IP attivata.
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 promptRegole pratiche#
- Utilizza un identificatore di sessione distinto per ciascun flusso di lavoro indipendente, laddove il gateway assegnato lo supporti. Conferma la durata consentita e i parametri di posizione nei dettagli della connessione. Un dispositivo residenziale può disconnettersi prima della durata richiesta; una sessione persistente non è garanzia dello stesso IP per giorni. Per un indirizzo fisso, confronta un prodotto statico dedicato.
- Utilizzare
--headless=newin Cromo; la vecchia modalità senza testa ha un'impronta digitale distintiva. - Identificatori di sessione separati isolano le preferenze di routing, non i cookie del browser o lo stato dell'applicazione. Inizia con un numero limitato di lavoratori, misura gli errori e il traffico e aumenta gradualmente entro i limiti confermati per il tuo ordine e la destinazione. Una selezione ristretta di città o operatore può ridurre la capacità disponibile.
Domande che le persone fanno#
Perché Chrome mostra una richiesta di accesso proxy con Selenium?
Utilizza una lista consentita di IP di origine attivata per un server fisso o testa l'attuale gestore di autenticazione WebDriver BiDi di Selenium con il browser installato. Non fare affidamento su un'installazione Selenium Wire archiviata per una nuova integrazione.