Варіант 1: IP-відбілювання (відновлення для серверів)#
Відправлення фактичного доступу сервера IPv4 в доступі і очікування активації адміністратора. NAT або VPN може змінити адресу, яку бачив за допомогою шлюзу. Доступ до пароля працює тільки після того, як запис підтверджено на призначену послугу. Підтвердіть параметри країни і сеансу окремо; початковий IP-дисплеєр не надсилає параметрів імені користувача. білий список
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()Варіант 2: WebDriver БіDi автентифікації #
Приклад використовує WebDriver BiDi API Selenium, з підтримкою bidi та мережі.add auth handler. Перевірте HTTP-проксі-виклик з встановленим браузером та драйвером перед використанням його в роботі. обробник не обмежується одним хостом, тому використовувати ізольований сеанс браузера без необґрунтованих підказок автентифікації. Якщо проксі-автентифікація не підтримується в комбінації версії, скористайтеся активованим IP-додатком.
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)БРОНЮВАННЯ#
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 promptПрактичні правила#
- Використовуйте окремий ідентифікатор сеансу для кожного незалежного робочого процесу, де передбачено його шлюзу. Підтвердіть дозволені параметри тривалості та розташування у деталях з'єднання. Житловий пристрій може від'єднатися до передбачуваної тривалості; липка секція не гарантує того ж IP протягом доби. Для фіксованої адреси порівняти виділений статичний продукт.
- Контакти
--headless=newв Chrome; старий безголовний режим має відмінну відбитків пальців. - Окремі ідентифікатори сеансу ізолюють маршрутні налаштування, а не файли cookie або стан програми браузера. Почати з невеликою кількістю працівників, вимірювати помилки та трафік, а також збільшити поступово в межах, підтверджених для вашого замовлення та призначення. Вузьке місто або вибір перевізника може зменшити доступність.
Питання, які говорять#
Чому Chrome показує проксі-логіновий запит з Selenium?
Використовуйте активований вихідний-IP-лист для фіксованого сервера, або тест на поточний WebDriver BiDi автентифікаційний обробник з встановленим браузером. Не покладайтеся на архівовану установку Selenium Wire для нової інтеграції.