Example #1
0
 /// <summary>
 /// 插入到数据库
 /// </summary>
 /// <param name="info">info</param>
 public static void Add_IPAddress(ip_agency_data info)
 {
     using (var dbConnection = BaseConfig.GetSqlConnection())
     {
         var result = dbConnection.Insert <ip_agency_data>(info);
         System.Console.WriteLine($"{info.ip_address}:{info.ip_port} , 已加入到数据库。");
     }
 }
Example #2
0
        /// <summary>
        /// 验证list集合里面的代理IP
        /// </summary>
        /// <param name="msg"></param>
        public static void ProxyVerification(object msg, string name)
        {
            if (null == msg)
            {
                return;
            }
            ProxyViewModel proxy = (ProxyViewModel)msg;

            try
            {
                using (WebClient web = new WebClient())
                {
                    try
                    {
                        HttpWebRequest  Req;
                        HttpWebResponse Resp;
                        WebProxy        proxyObject = new WebProxy(proxy.ProxyIP, proxy.ProxyPort);
                        Req         = WebRequest.Create("https://www.baidu.com") as HttpWebRequest;
                        Req.Proxy   = proxyObject; //设置代理
                        Req.Timeout = 3000;        //超时
                        Resp        = (HttpWebResponse)Req.GetResponse();
                        Encoding bin = Encoding.GetEncoding("UTF-8");
                        using (StreamReader sr = new StreamReader(Resp.GetResponseStream(), bin))
                        {
                            string str = sr.ReadToEnd();
                            if (str.Contains("百度"))
                            {
                                Resp.Close();
                                // 更新验证时间
                                proxy.CreateTime = DateTime.Now;
                                // 更新验证状态
                                proxy.State = 1;
                                // 验证通过,归队
                                QueueOperation(proxy, IQueueType.EnQueue);
                                ip_agency_data info = new ip_agency_data()
                                {
                                    ip_address    = proxy.ProxyIP,
                                    ip_port       = proxy.ProxyPort.ToString(),
                                    ip_createtime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")),
                                    ip_sourcename = name
                                };
                                //插入到数据库
                                Program.Add_IPAddress(info);

                                System.Console.WriteLine("{0}> [{2}]自动验证成功{1}", DateTime.Now.ToString("s"), proxy.Id, name);
                            }
                            else
                            {
                                System.Console.WriteLine("{0}> [{2}]自动验证失败{1}", DateTime.Now.ToString("s"), proxy.Id, name);
                            }
                        }
                    }
                    catch (Exception ex)
                    { }
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine("{0}> [{3}]自动验证异常{1} {2}", DateTime.Now.ToString("s"), proxy.Id, e.Message, name);
            }
        }