1-ilova: IP'ni oq roʻyxatga olish (serverlar uchun tavsiya etiladi)#
Serverning tegishli chiquvchi jamoat IPv4 manzilini Access'ga yuboring va administrator faollashguncha kuting. NAT yoki VPN gateway tomonidan koʻrilgan manzilni oʻzgartirishi mumkin. Maxfiy soʻzsiz kirish faqatgina xizmat uchun kiritilgan maʼlumotlar tasdiqlangandan keyin ishlaydi. Mamlakat va sessiya parametrlarini alohida tasdiqlang; manba-IP allowlist foydalanuvchi nomi parametrlarini yubormaydi. Oq roʻyxat
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-variant: WebDriver BiDi autentifikatsiyasi #
Misol Selenium'ning WebDriver BiDi API'sini enable_bidi va network.add_auth_handler bilan qoʻllab-quvvatlaydi. Ishda foydalanishdan oldin oʻrnatilgan brauzer va drayver bilan HTTP proksi muammosini sinovdan oʻtkazing. Hisoblagich bir xostga cheklanmagan, shuning uchun aloqasiz autentifikatsiya savollarisiz yopiq brauzer seansini ishlating. Agar sizning versiya kombinatsiyangizda proksi autentifikatsiyasi qoʻllanilmasa, faollashtirilgan IP allowlist'ni foydalaning.
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 promptUmumiy qoidalar#
- Har bir mustaqil ish oqimi uchun alohida sessiya identifikatorini qoʻllang, agar belgilangan geytni qoʻllab-quvvatlasa. Ulanish maʼlumotlarida ruxsat etilgan vaqt va joy parametrlarini tasdiqlang. Uy qurilmasi talab qilingan vaqtdan oldin uzilishi mumkin; seans kunlar davomida bir xil IP'ga ega boʻlishini kafolatlamaydi. Faqat bitta manzil uchun, ajratilgan statik mahsulot bilan taqqoslang.
- Ishlatish
--headless=newChrome'da; eski boshsiz rejim oʻziga xos barmoq izlari bilan ajralib turadi. - Ayrim seans identifikatorlari brauzerning kukilarini yoki dastur holatini emas, balki yoʻllash ustunliklarini ajratadi. Kichik ishchilar soni bilan boshlang, xato va trafikni oʻlchang, va buyurtmangiz va manzilingiz uchun tasdiqlangan chegaralarda asta-sekin oshiring. Qisqa shahar yoki operator tanlash mavjud boʻlgan quvvatni kamaytirishi mumkin.
Odamlar soʻraydigan savollar.#
Nima uchun Chrome Selenium bilan proksi kirishni soʻraydi?
Foydalanish uchun manba-IP ruxsatlar roʻyxatini ishlating yoki Selenium'ning WebDriver BiDi autentifikatsiya boshqaruvchisini oʻrnatilgan brauzer bilan sinovdan oʻtkazing. Yangi integratsiya uchun arxivlangan Selenium Wire oʻrnatilishiga ishonmang.