Option 1: IP-Whitelisting (empfohlen für Server)#
Übermitteln Sie die tatsächliche ausgehende öffentliche IPv4-Adresse des Servers in Access und warten Sie auf die Aktivierung durch den Administrator. NAT oder ein VPN können die vom Gateway erkannte Adresse ändern. Der passwortfreie Zugang funktioniert erst nach Bestätigung der Eingabe für den zugewiesenen Dienst. Bestätigen Sie die Länder- und Sitzungsoptionen separat. Eine Quell-IP-Zulassungsliste sendet keine Benutzernamensparameter. 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()Option 2: WebDriver BiDi-Authentifizierung #
Das Beispiel verwendet die von Selenium verwaltete WebDriver BiDi-API mit enable_bidi und network.add_auth_handler. Testen Sie eine HTTP-Proxy-Challenge mit dem installierten Browser und Treiber, bevor Sie sie in einem Job verwenden. Der Handler ist nicht auf einen Host beschränkt. Verwenden Sie daher eine isolierte Browsersitzung ohne unabhängige Authentifizierungsaufforderungen. Wenn die Proxy-Authentifizierung in Ihrer Versionskombination nicht unterstützt wird, verwenden Sie eine aktivierte IP-Zulassungsliste.
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 promptPraktische Vorschriften#
- Verwenden Sie für jeden unabhängigen Workflow eine eindeutige Sitzungskennung, sofern das zugewiesene Gateway dies unterstützt. Bestätigen Sie die zulässigen Dauer- und Standortparameter in Ihren Verbindungsdetails. Ein Heimgerät kann die Verbindung vor Ablauf der angeforderten Dauer trennen; Eine Sticky-Sitzung ist keine Garantie für die gleiche IP-Adresse über mehrere Tage hinweg. Vergleichen Sie für eine feste Adresse ein dediziertes statisches Produkt.
- Verwendung
--headless=newin Chrome; Der alte Headless-Modus hat einen unverwechselbaren Fingerabdruck. - Separate Sitzungskennungen isolieren Routing-Einstellungen, nicht die Cookies des Browsers oder den Anwendungsstatus. Beginnen Sie mit einer kleinen Anzahl von Mitarbeitern, messen Sie Fehler und Datenverkehr und erhöhen Sie die Anzahl schrittweise innerhalb der für Ihre Bestellung und den Bestimmungsort bestätigten Grenzen. Eine enge Stadt- oder Anbieterauswahl kann die verfügbare Kapazität verringern.
Fragen, die Menschen stellen#
Warum zeigt Chrome bei Selenium eine Proxy-Anmeldeaufforderung an?
Verwenden Sie eine aktivierte Quell-IP-Zulassungsliste für einen festen Server oder testen Sie Seleniums aktuellen WebDriver BiDi-Authentifizierungshandler mit dem installierten Browser. Verlassen Sie sich bei einer Neuintegration nicht auf eine archivierte Selenium Wire-Installation.