Я использую прокси luminati, который использует базовую аутентификацию.
Чтобы использовать другой ip, вам просто нужно установить другое имя пользователя в учетных данных, например:
my-username-ip-183.xxx.xxx.xxx, указав новый ip
Однако веб-клиент продолжает использовать первые учетные данные, которые вы ему предоставляете (в данном примере i = 0).
Я думаю, это проблема с кешем?
Забавно, если я поставлю точку останова внутри кода, она отлично работает
for (int i = 0; i < username.Length; i++)
{
using (WebClient client = new WebClient())
{
WebProxy proxy = new WebProxy(ip:port);
proxy.Credentials = new NetworkCredential(username[i], password);
client.Proxy = proxy;
string MyIp = client.DownloadString("http://any site that tells your ip");
if (username[i].Contains(MyIp) == false)
{
MessageBox.Show("error");
}
}
}
Единственный похожий вопрос, который я нашел в SO, это этот, но в Java
Многопоточность с помощью Java htmlunit.WebClient и нескольких прокси