我已经尝试了几天使用Firefox在Selenium中设置私有代理(带身份验证)。然而,无论我做什么,我都没有成功。
目前,我尝试了以下两种方法,在这两种方法中,Firefox通常都会启动而没有任何代理。
Proxy proxy = new Proxy();
proxy.setHttpProxy(proxyHost + proxyPort);
proxy.setSocksUsername(proxyUsername);
proxy.setSocksPassword(proxyPass);
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new FirefoxDriver(cap);
driver.get("http://google.com");
我也尝试了以下内容:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", proxyHost);
profile.setPreference("network.proxy.http_port", proxyPort);
profile.setPreference("network.proxy.http", "user:pass@1.1.1.1");
profile.setPreference("network.proxy.http_port", proxyPort);
WebDriver driver = new FirefoxDriver(profile);
driver.get("http://google.com");
如何在Selenium中使用Firefox设置http私有代理(用户名和密码)?
我正在使用Java。
由于
答案 0 :(得分:0)
您可以尝试使用browsermob proxy。 在这里,您可以找到example
答案 1 :(得分:0)
寻找解决方案:
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': PROXY_HOST,
'socksUsername': 'name',
'socksPassword': 'pass'
})
driver = webdriver.Firefox(proxy=proxy)
答案 2 :(得分:0)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int h = 4;
int w = 2;
int i, j;
int **arr = (int**)malloc(sizeof(int*) * h);
arr[0] = (int*)malloc(sizeof(int) * w * h);
for (i=1; i<h; i++)
{
arr[i] = arr[0] + (w*i);
}
int count = 0;
for (i=0; i<h; i++)
{
for (j=0; j<w; j++)
{
arr[i][j] = count++;
}
}
for (i=0; i<h; i++)
{
for (j=0; j<w; j++)
{
printf("Array[%d][%d] = %d ", i, j, arr[i][j]);
}
printf("\n");
}
for (i=0; i<h; i++)
{
free(arr[i]);
}
free(arr);
/*printf("\nAfter freeing the array it becomes:\n");
for (i=0; i<h; i++)
{
for (j=0; j<w; j++)
{
printf("Array[%d][%d] = %d ", i, j, arr[i][j]);
}
printf("\n");
}*/
}
当我将Luminati代理用于Selenium时,这里是my sample code。