Možnost 1: Whitelisting IP (doporučeno pro servery)#
V Accessu odešlete skutečnou odchozí veřejnou IPv4 adresu serveru a počkejte na aktivaci správce. NAT nebo VPN může změnit adresu, kterou vidí brána. Přístup bez hesla funguje pouze po potvrzení položky pro přiřazenou službu. Potvrďte možnosti země a relace samostatně; zdrojový seznam povolených IP adres neodesílá parametry uživatelského jména. whitelist
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()Možnost 2: WebDriver BiDi autentizace #
Příklad používá Selenium WebDriver BiDi API, s enable_bidi a network.add_auth_handler. Test HTTP proxy challenge s nainstalovaným prohlížečem a ovladačem před použitím v úloze. Handler není omezen na jednoho hostitele, takže použijte izolovanou relaci prohlížeče bez nesouvisejících výzev k ověření. Pokud není ověřování proxy ve vaší kombinaci verzí podporováno, použijte aktivovaný IP allowlist.
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 promptPraktická pravidla#
- Pro každý nezávislý pracovní postup použijte odlišný identifikátor relace, pokud to přiřazená brána podporuje. V podrobnostech o připojení potvrďte povolenou dobu trvání a parametry umístění. Domácí zařízení se může odpojit před požadovaným časem trvání; stálá relace nezaručuje stejnou IP adresu po několik dní.
- Použití
--headless=newv Chromu; starý bezhlavý režim má charakteristický otisk prstu. - Samostatné identifikátory relací izolují předvolby směrování, nikoli soubory cookie prohlížeče nebo stav aplikace. Začněte s malým počtem pracovníků, měřte chyby a provoz a postupně zvyšujte v rámci limitů potvrzených pro vaši objednávku a cíl.Úzký výběr města nebo dopravce může snížit dostupnou kapacitu.
Otázky, které lidé kladou#
Proč Chrome zobrazuje výzvu k přihlášení proxy s Selenium?
Použijte aktivovaný zdrojový IP allowlist pro pevný server nebo otestujte aktuální autentizační obslužnou rutinu Selenium WebDriver BiDi s nainstalovaným prohlížečem.Nespoléhejte se na archivovanou instalaci Selenium Wire pro novou integraci.