/// <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} , 已加入到数据库。"); } }
/// <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); } }