我在巴西支付/租用了代理服務器
String proxyAddress = "myusername:[email protected]:15464"
proxy.setAutodetect(false);
proxy.setHttpProxy(proxyAddress);
proxy.setSslProxy(proxyAddress);
chromeOptions.setCapability(CapabilityType.PROXY, proxy);
WebDriver webDriver = new ChromeDriver(chromeOptions);
我在本地計算機上運行 webdriver,我在印度尼西亞。當 chrome 瀏覽器打開時,我可以除錯并確保功能設定正確:我可以看到手動代理設定設定為上面的正確地址字串。但是,當 webdriver 打開https://api.ipify.org/?format=json 時,它仍然回傳我在印度尼西亞的 IP。我在這里想念什么?我的期望是因為我已將 webdriver 配置為由巴西的服務器代理,https: //api.ipify.org/?format=json應該回傳巴西 IP 地址?
uj5u.com熱心網友回復:
使用 Selenium 4 雙向 API ( https://www.selenium.dev/documentation/webdriver/bidirectional/bidi_api/ )
注冊基本身份驗證。一些應用程式利用瀏覽器身份驗證來保護頁面。使用 Selenium,您可以在出現基本身份驗證憑據時自動輸入它們。
//C#
//Console App .NET 6
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
Proxy proxy = new Proxy();
var proxyAddress = "address:port";
proxy.HttpProxy = proxyAddress;
proxy.SslProxy = proxyAddress;
ChromeOptions options = new ChromeOptions();
options.Proxy = proxy;
IWebDriver driver = new ChromeDriver(options);
NetworkAuthenticationHandler handler = new NetworkAuthenticationHandler()
{
UriMatcher = (d) => d.Host.Contains("your-domain.com"), // or set it `true` to enable proxy everywhere
Credentials = new PasswordCredentials("admin", "password")
};
INetwork networkInterceptor = driver.Manage().Network;
networkInterceptor.AddAuthenticationHandler(handler);
await networkInterceptor.StartMonitoring();
driver.Navigate().GoToUrl("https://api.ipify.org/?format=json");
await networkInterceptor.StopMonitoring();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/420611.html
標籤:
