c#批量抓取免费代理并且验证有效性的实战教程

2020-01-05 09:12:03刘景俊

Redis第三库使用的stackoverflow的 StackExchange.Redis,代理ip不能重复储存,所以采用的数据结构是Set。存的值非常简单就一个ip加上port,也可以存入更多相关信息,感觉没必要。即使有这些其他的信息,也很难发挥作用。RedisHelper.cs如下


public class RedisHelper
 {
  private static readonly object Locker = new object();
  private static ConnectionMultiplexer _redis;
  private const string CONNECTTIONSTRING = "127.0.0.1:6379,DefaultDatabase=3";
  public const string REDIS_SET_KET_SUCCESS = "set_success_ip";
  private static ConnectionMultiplexer Manager
  {
   get
   {
    if (_redis == null)
    {
     lock (Locker)
     {
      if (_redis != null) return _redis;
      _redis = GetManager();
      return _redis;
     }
    }
    return _redis;
   }
  }
  private static ConnectionMultiplexer GetManager(string connectionString = null)
  {
   if (string.IsNullOrEmpty(connectionString))
   {
    connectionString = CONNECTTIONSTRING;
   }
   return ConnectionMultiplexer.Connect(connectionString);
  }
  public static bool InsertSet(string value)
  {
   var db = Manager.GetDatabase();
   return db.SetAdd(REDIS_SET_KET_SUCCESS,value);
  }
 }

总结

明天补上刷新网页浏览量的文章吧,代码还不够好,ip的有效性还不高,对多线程的使用还不是很熟练

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。


注:相关教程知识阅读请移步到c#教程频道。