• kylin类库之获取代理IP


      1 namespace Kylin.GetHttpIp
      2 {
      3     public class kylinIp
      4     {
      5         ///爬虫获取网站的高匿代理IP
      6         ///目前使用的网站有:
      7         ///http://www.xdaili.cn/freeproxy
      8         ///http://www.xicidaili.com/nn/
      9         ///http://www.goubanjia.com/free/gngn/index.shtml
     10         ///
     11 
     12         ///第一个网站可以抓包:http://www.xdaili.cn/ipagent//freeip/getFreeIps?page=1&rows=10
     13         ///其他几个都要进页面
     14         ///
     15         HttpUtility http;
     16          
     17 
     18         public kylinIp()
     19         {
     20             http = new HttpUtility();
     21         }
     22         
     23 
     24         public string GetIPBy_xdaili()
     25         {
     26             string Url = "http://www.xdaili.cn/ipagent//freeip/getFreeIps?page=1&rows=10";
     27             try {
     28                 string Area_Html = http.GetHtmlText(Url);
     29                 JObject Area_Json = (JObject)JsonConvert.DeserializeObject(Area_Html);
     30                 for (int j = 0; j < Area_Json["RESULT"]["rows"].Count(); j++)
     31                 {
     32                     if (Area_Json["RESULT"]["rows"][0]["anony"].ToString() == "高匿")
     33                     {
     34                         string IP = Area_Json["RESULT"]["rows"][0]["ip"].ToString();
     35                         string Duankou = Area_Json["RESULT"]["rows"][0]["port"].ToString();
     36                         try
     37                         {
     38                             WebProxy proxyObject = new WebProxy(IP, int.Parse(Duankou));//str为IP地址 port为端口号 代理类
     39                             HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("http://www.whatismyip.com.tw/"); // 61.183.192.5
     40                             Req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)";
     41                             Req.Proxy = proxyObject; //设置代理 
     42                             Req.Method = "GET";
     43                             HttpWebResponse Resp = (HttpWebResponse)Req.GetResponse();
     44                             string StringSub = "";
     45                             string OkStr = "";
     46                             Encoding code = Encoding.GetEncoding("utf-8");
     47                             using (StreamReader sr = new StreamReader(Resp.GetResponseStream(), code))
     48                             {
     49                                 string str1 = sr.ReadToEnd();//获取得到的网址html返回数据,这里就可以使用某些解析html的dll直接使用了,比如htmlpaser 
     50                                 if (str1.IndexOf(IP) > 0)
     51                                 {
     52                                     return IP + ":" + Duankou;
     53                                 }
     54                             }
     55                         }
     56                         catch { }
     57 
     58 
     59                     }
     60                 }
     61             }
     62             catch { }
     63 
     64             Url = "http://www.xicidaili.com/nn/";
     65             try
     66             {
     67                 string Area_Html = http.GetHtmlText(Url);
     68                 var documenthtml = new JumonyParser().Parse(Area_Html);
     69 
     70                 var lists = documenthtml.FindFirst("#ip_list").Find("tr").ToList();
     71 
     72                 bool first_ip = true;
     73                 foreach (var list in lists)
     74                 {
     75                     if(first_ip){
     76                         continue;
     77                     }
     78                     var IP_i = list.Find("td").ToList();
     79                     string IP = IP_i[1].ToString();
     80                     string Duankou = IP_i[2].ToString();
     81                     try
     82                     {
     83                         WebProxy proxyObject = new WebProxy(IP, int.Parse(Duankou));//str为IP地址 port为端口号 代理类
     84                         HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("http://www.whatismyip.com.tw/"); // 61.183.192.5
     85                         Req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)";
     86                         Req.Proxy = proxyObject; //设置代理 
     87                         Req.Method = "GET";
     88                         HttpWebResponse Resp = (HttpWebResponse)Req.GetResponse();
     89                         string StringSub = "";
     90                         string OkStr = "";
     91                         Encoding code = Encoding.GetEncoding("utf-8");
     92                         using (StreamReader sr = new StreamReader(Resp.GetResponseStream(), code))
     93                         {
     94                             string str1 = sr.ReadToEnd();//获取得到的网址html返回数据,这里就可以使用某些解析html的dll直接使用了,比如htmlpaser 
     95                             if (str1.IndexOf(IP) > 0)
     96                             {
     97                                 return IP + ":" + Duankou;
     98                             }
     99                         }
    100                     }
    101                     catch { }
    102                 }
    103             }
    104             catch { }
    105 
    106             
    107             return "当前暂无可用";
    108         }
    109     }
    110 }
    代码

    其实就是简单的获取一些网站(分享免费代理),经过自己的检测可用性,然后返回出带端口号的字符串

  • 相关阅读:
    AMD 开源照片级渲染引擎 Radeon ProRender
    删除集群mds
    删除集群mds
    一次旅途她和豆浆结缘,如今拥有70多家加盟店
    小伙居然开网店卖花,整整一年时间他做出了400万元的业绩
    带着800元现金开始创业,居然开出了十几家连锁超市
    北大学霸从小米离职,靠眼镜打开亿万市场
    广西农民靠养猪发家致富,采用新模式既有效益又保护生态
    在母婴产品领域他独领风骚,利润已经突破了1亿
    80后小伙白手起家做照明生意,为他创造了六千万元的业绩
  • 原文地址:https://www.cnblogs.com/yishilin/p/7514241.html
Copyright © 2020-2023  润新知