Я установил прокси для селена chrome Драйвер все еще траффи c собирается из моего локального в java - PullRequest
0 голосов
/ 10 марта 2020

Я установил прокси для chrome драйвера

ChromeOptions optionsMap = new ChromeOptions();
        optionsMap.addArguments("--headless");
        optionsMap.addArguments("--user-agent=Mozilla/5.0 (X11; Linux x86_64) 
        AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36");
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.MANUAL);
proxy.setHttpProxy(proxyValue);
optionsMap.setCapability(CapabilityType.PROXY, proxy);

Но трафик c идет с локального IP-адреса. Я хочу, чтобы трафик c до go от прокси. Не могли бы вы решить проблему. Для проверки я установил для прокси драйвера chrome другой ip, а не локальный адрес, и запустил сайт https://icanhazip.com/, чтобы узнать ip. На веб-сайте все еще отображается локальный IP-адрес.

Я собрал драйвер chrome, используя приведенный ниже код

String driverAbsPath = new File(seleniumChromeDriverPath).getAbsolutePath().replace("/~/", "/");
ChromeDriverService service = new ChromeDriverService.Builder()
   .usingDriverExecutable(new File(driverAbsPath))
    .usingAnyFreePort()
    .build();
optionsMap.merge(chromecapabilities);
driver = new ChromeDriver(service, optionsMap);

1 Ответ

0 голосов
/ 10 марта 2020

Попробуйте добавить IP-адрес в заголовок X-Forwarded-For на стороне прокси:

proxy.addHeader("X-Forwarded-For", "1.2.3.4")
...