public static void Load(List <String> proxies) { // Housekeeping Clear(proxies.Count); // Creating Randomizer for adding proxies to the list Random randomizer = new Random(); // Adding proxies from the file foreach (string proxyData in proxies) { if (String.IsNullOrEmpty(proxyData)) { continue; } // Splitting String for it's data string[] proxyInfo = proxyData.Split(':'); ProxyInfo pInfo; // Checking for "No Login and Password Proxy" if (proxyInfo.Length == 2) { // Building Proxy Info Instance - With no Credentials pInfo = new ProxyInfo() { ip = proxyInfo[0], port = proxyInfo[1] }; } else // Proxy Length expected is 4 (Address,Port,Username,Password) { // Building Proxy Info Instance - With Credentials pInfo = new ProxyInfo() { ip = proxyInfo[0], port = proxyInfo[1], user = proxyInfo[2], psw = proxyInfo[3] }; } // Sanity Check if (_loadedProxies.Count > 0) { // Adding Proxy Info to the List _loadedProxies.Insert(randomizer.Next(_loadedProxies.Count), pInfo); } else { _loadedProxies.Add(pInfo); } } }
public static void Load (List<String> proxies) { // Housekeeping Clear (proxies.Count); // Creating Randomizer for adding proxies to the list Random randomizer = new Random (); // Adding proxies from the file foreach (string proxyData in proxies) { if (String.IsNullOrEmpty (proxyData)) continue; // Splitting String for it's data string[] proxyInfo = proxyData.Split (':'); ProxyInfo pInfo; // Checking for "No Login and Password Proxy" if (proxyInfo.Length == 2) { // Building Proxy Info Instance - With no Credentials pInfo = new ProxyInfo () { ip = proxyInfo[0], port = proxyInfo[1] }; } else // Proxy Length expected is 4 (Address,Port,Username,Password) { // Building Proxy Info Instance - With Credentials pInfo = new ProxyInfo () { ip = proxyInfo[0], port = proxyInfo[1], user = proxyInfo[2], psw = proxyInfo[3] }; } // Sanity Check if (_loadedProxies.Count > 0) { // Adding Proxy Info to the List _loadedProxies.Insert (randomizer.Next (_loadedProxies.Count), pInfo); } else { _loadedProxies.Add (pInfo); } } }
public static void IncrementUses(ProxyInfo pInfo) { pInfo.retries++; // remove failed proxies after a gratuitous attempt threshold if (pInfo.retries > 10) { _loadedProxies.Remove(pInfo); Console.WriteLine(String.Format("Removing bad proxy {0}:{1}", pInfo.ip, pInfo.port)); } }
public static void IncrementUses (ProxyInfo pInfo) { pInfo.retries++; // remove failed proxies after a gratuitous attempt threshold if (pInfo.retries > 10) { _loadedProxies.Remove (pInfo); Console.WriteLine (String.Format ("Removing bad proxy {0}:{1}", pInfo.ip, pInfo.port)); } }