Možnost 1: Seznam dovoljenih naslovov IP (priporočeno za strežnike)#
V Accessu pošljite dejanski odhodni javni IPv4 strežnika in počakajte na aktivacijo skrbnika. NAT ali VPN lahko spremeni naslov, ki ga vidi prehod. Dostop brez gesla deluje le, ko je vnos potrjen za dodeljeno storitev. Možnosti države in seje potrdite ločeno; dovoljeni seznam izvornega IP-ja ne pošilja parametrov uporabniškega imena. seznam dovoljenih
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 preverjanje pristnosti #
Primer uporablja Selenijev vzdrževani WebDriver BiDi API, z enable_bidi in network.add_auth_handler. Preizkusite HTTP proxy izziv z nameščenim brskalnikom in gonilnikom preden ga uporabite v opravilu. Obdelovalec ni omejen na enega gostitelja, zato uporabite izolirano sejo brskalnika brez nepovezanih pozivov za preverjanje pristnosti. Če preverjanje pooblaščenega strežnika ni podprto v vaši kombinaciji različic, uporabite aktiviran 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 promptPraktična pravila#
- Uporabite ločen identifikator seje za vsak neodvisen potek dela, kjer ga dodeljeni prehod podpira. Potrdite dovoljeno trajanje in parametre lokacije v podrobnostih povezave. Domača naprava lahko prekine povezavo pred zahtevanim trajanjem; lepljiva seja ni zagotovilo za isti IP več dni. Za fiksni naslov primerjajte namenski statični izdelek.
- Uporaba
--headless=newV Chromu; stari brezglavi način ima značilen prstni odtis. - Ločeni identifikatorji sej izolirajo nastavitve usmerjanja, ne pa piškotkov brskalnika ali stanja aplikacije. Začnite z majhnim številom delavcev, izmerite napake in promet ter postopoma povečajte v okviru omejitev, potrjenih za vaše naročilo in destinacijo.Ozka izbira mesta ali prevoznika lahko zmanjša razpoložljivo kapaciteto.
Vprašanja, ki jih ljudje postavljajo#
Zakaj Chrome prikaže poziv za prijavo proxy s Seleniumom?
Uporabite aktivirani seznam dovoljenih IP naslovov za fiksni strežnik ali pa preizkusite Seleniumovo trenutno obravnavo avtentikacije WebDriver BiDi z nameščenim brskalnikom.Ne zanašajte se na arhivirano namestitev Selenium Wire za novo integracijo.