public IP GetIpBlock(string nick_name)
        {
            nick_name = nick_name ?? "";
            IP ip = IPPool.Instance.GetIp();

            while (ip == null)
            {
                //log( nick_name .ToUpper()+ " no avaliable proxy ip");
                Thread.Sleep(1000);
                ip = IPPool.Instance.GetIp();
            }

            return(ip);
        }
        public IP GetIp()
        {
            IP ip = null;

            try
            {
                if (avaliable_ips.Count > 0)
                {
                    ip = avaliable_ips.Pop();
                }
            }
            catch
            {
            }

            return(ip);
        }
Пример #3
0
        //public string ContentType = "application/x-javascript;charset=GBK";


        public XDocument GetXDoc(string url, string post_data, string char_set, ref IP ip, int max_try = 3, int timeoutSeconds = 10)
        {
            int i = 0;

            while (i < max_try)
            {
                var xdoc = GetXDoc(url, post_data, char_set, ip.Ip, ip.Port, timeoutSeconds * 1000);
                if (xdoc != null)
                {
                    return(xdoc);
                }
                ip = IPPool.Instance.GetIpBlock("");
                i++;
            }

            ip = IPPool.Instance.GetIpBlock("");
            return(null);
        }
Пример #4
0
 public void ChangeIp()
 {
     my_ip             = IPPool.Instance.GetIpBlock("");
     curr_ip_get_pages = 0;
 }