Opsi 1: IP daftar putih (disarankan untuk server)#
Ajukan IPv4 publik outbound yang sebenarnya dari server dalam Access dan tunggu pengaktifan administrator. NAT atau VPN dapat mengubah alamat yang dilihat oleh gateway. Akses bebas kata sandi hanya berfungsi setelah entri dikonfirmasi untuk layanan yang ditugaskan. Konfirmasi opsi negara dan sesi secara terpisah; sebuah source-IP yang mengizinkan daftar tidak mengirim parameter nama pengguna. Daftar putih
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()Otentikasi WebDriver BiDi #
Contoh ini menggunakan API WebDriver BiDi yang dipertahankan oleh Selenium, dengan enable bidi dan network.add auth handler. Uji tantangan proksi HTTP dengan peramban dan driver terpasang sebelum menggunakannya dalam suatu pekerjaan. Penangan tidak dibatasi untuk satu host, jadi gunakan sesi peramban terisolasi tanpa prompt otentikasi yang tidak terkait. Jika otentikasi proksi tidak didukung dalam kombinasi versi Anda, gunakan IP allowlist yang diaktifkan.
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 promptAturan praktis praktis#
- Gunakan pengenalpasti sesi yang berbeda untuk setiap alur kerja independen, di mana gateway yang ditugaskan mendukungnya. Konfirmasi durasi dan parameter lokasi yang diizinkan dalam rincian koneksi Anda. Sebuah perangkat pemukiman dapat memutuskan sebelum durasi yang diminta; sesi lengket bukan jaminan IP yang sama selama berhari-hari. Untuk alamat tetap, bandingkan produk statik berdedikasi.
- Guna
--headless=newWOW dalam Krom; mode lama tanpa kepala memiliki sidik jari yang khas. - Pengidentifikasi sesi terpisah-pisah dari routing preferensi, bukan cookie atau keadaan aplikasi peramban. Mulai dengan sejumlah kecil pekerja, mengukur kesalahan dan lalu lintas, dan meningkatkan secara bertahap dalam batas yang dikonfirmasi untuk pesanan Anda dan tujuan. Sebuah kota sempit atau pemilihan pembawa dapat mengurangi kapasitas yang tersedia.
Pertanyaan orang#
Mengapa KATA Krom menunjukkan sebuah prompt login proksi dengan Selenium?
Memanfaatkan sebuah daftar ijin source-IP yang diaktifkan untuk sebuah server tetap, atau uji penanganan otentikasi WebDriver BiDi saat ini dari Selenium dengan peramban terpasang. Jangan bergantung pada instalasi kabel Selenium yang diarsipkan untuk integrasi baru.