IZennoList proxyList = project.Lists["lst_Proxy"];
Random rnd = new Random();
int count = 20; // количество неудачных проверок подряд
lock (SyncObjects.ListSyncer) {
for (int i=0; i<count; i++) {
if (proxyList.Count == 0) break;
int t = rnd.Next(0, proxyList.Count);
string proxy = proxyList[t];
proxyList.RemoveAt(t);
var content = ZennoPoster.HttpGet("https://api.ipify.org", proxy, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000);
if (content.Length>7) {
instance.SetProxy(proxy,false,true,true); // Установка прокси с эмуляцией таймзоны на основе IP
return "Set proxy " + instance.GetProxy();
}
project.SendWarningToLog("Bad proxy " + proxy, true);
}
throw new Exception("20 неудачных проксей подряд!");
}