Zum Hauptinhalt springen
Alle KollektionenEinrichtung, Integration und API-BefehleKonfigurationshandbücher
Selenium mit Benutzername und Passwort (API-Schlüssel) Authentifizierung
Selenium mit Benutzername und Passwort (API-Schlüssel) Authentifizierung

So konfigurieren Sie Ihre Proxyrack-Proxys in Selenium mit Ihrem Benutzernamen und Passwort (API-Schlüssel)

Evan avatar
Verfasst von Evan
Vor über einer Woche aktualisiert

Selenium erlaubt es standardmäßig nicht, die Authentifizierung mit Benutzername und Passwort (API-Schlüssel) zu verwenden. Sie können den unten stehenden Workaround nutzen, um dies anstelle von IP-Whitelisting zu tun.

import osimport zipfilefrom selenium import webdriverPROXY_HOST = 'premium.residential.proxyrack.net'  # dies ist für Premium Residential Proxies. Sie können den DNS des Dienstes, den Sie verwenden, ersetzenPROXY_PORT = 9000 # Port (verwenden Sie "10000" für einen Sticky-Port)PROXY_USER = 'user' # Ihr BenutzernamePROXY_PASS = 'password' # Ihr Passwort (API-Schlüssel)manifest_json = """{    "version": "1.0.0",    "manifest_version": 2,    "name": "Chrome Proxy",    "permissions": [        "proxy",        "tabs",        "unlimitedStorage",        "storage",        "<all_urls>",        "webRequest",        "webRequestBlocking"    ],    "background": {        "scripts": ["background.js"]    },    "minimum_chrome_version":"22.0.0"}"""background_js = """var config = {        mode: "fixed_servers",        rules: {        singleProxy: {            scheme: "http",            host: "%s",            port: parseInt(%s)        },        bypassList: ["localhost"]        }    };chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});function callbackFn(details) {    return {        authCredentials: {            username: "%s",            password: "%s"        }    };}chrome.webRequest.onAuthRequired.addListener(            callbackFn,            {urls: ["<all_urls>"]},            ['blocking']);""" % (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)def get_chromedriver(use_proxy=False, user_agent=None):    path = os.path.dirname(os.path.abspath(__file__))    chrome_options = webdriver.ChromeOptions()    if use_proxy:        pluginfile = 'proxy_auth_plugin.zip'        with zipfile.ZipFile(pluginfile, 'w') as zp:            zp.writestr("manifest.json", manifest_json)            zp.writestr("background.js", background_js)        chrome_options.add_extension(pluginfile)    if user_agent:        chrome_options.add_argument('--user-agent=%s' % user_agent)    driver = webdriver.Chrome(        os.path.join(path, 'chromedriver'),        chrome_options=chrome_options)    return driverdef main():    driver = get_chromedriver(use_proxy=True)    driver.get('http://api.ipify.org/?format=json')  # jede URL, die Sie crawlen möchten
Hat dies deine Frage beantwortet?