我需要在使用Google Chrome浏览器中的maven运行的java selenium-webdriver测试中设置代理连接。我尝试了其他用户关于代理问题的几种方式,但没有人适合我的情况。
它没有给我任何错误,但是如果我检查“https://www.whatismyip.com/”中的地理位置,它会显示未使用代理,因为我看到了我的真实连接IP。
用于PHP语言的curl命令的vpn代理文档如下:
<?php
function getWPage($proxy, $url, $referer, $agent, $header, $timeout) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
$result['EXE'] = curl_exec($ch);
$result['INF'] = curl_getinfo($ch);
$result['ERR'] = curl_error($ch);
curl_close($ch);
return $result;
}
?>
$proxy = http://<user@vpnservice.com>:<vpn_password>@<country_url>
以下示例为我提供了一个运行测试的工作浏览器,但未使用VPN,因为IP是我自己的,而不是VPN的那个,就像它没有使用VPN代理隧道一样。
protected String proxyUser = "user@company.com";
protected String proxyPass = "password";
protected String proxyUrl;
public WebDriver initDriverWebPcProxy(String url) throws IOException {
proxyUrl = "http://" + proxyUser + ":" + proxyPass + "@" + url;
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
proxy.setHttpProxy(proxyUrl);
proxy.setSslProxy(proxyUrl);
capabilities.setCapability("proxy", proxy);
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(capabilities);
return driver;
}