现在的位置: 首页 > 综合 > 正文

得到真实外网IP、IP所在国家、省份、地区

2014年03月03日 ⁄ 综合 ⁄ 共 1507字 ⁄ 字号 评论关闭

  1. #region##得到真实IP以及所在地详细信息      
  2.    /// <summary>      
  3.    /// 得到真实IP以及所在地详细信息(Porschev)      
  4.    /// </summary>      
  5.    /// <returns></returns>      
  6.    public string GetIpDetails()      
  7.    {          
  8.        string url = "http://www.ip138.com/ips8.asp";   //设置获取IP地址和国家源码的网址          
  9.        string regStr = "(?<=<td\\s*align=\\\"center\\\">)[^<]*?(?=<br/><br/></td>)";            
  10.        string ipRegStr = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";    //IP正则                  
  11.        string ip = string.Empty;   //IP地址          
  12.        string country = string.Empty;  //国家          
  13.        string adr = string.Empty;   //省市          
  14.        string html = GetHtml(url);       //得到网页源码          
  15.        Regex reg = new Regex(regStr, RegexOptions.None);                 
  16.        Match ma = reg.Match(html);        html = ma.Value;                
  17.        Regex ipReg = new Regex(ipRegStr, RegexOptions.None);          
  18.        ma = ipReg.Match(html);          
  19.        ip = ma.Value;     //得到IP          
  20.        int index = html.LastIndexOf(":") + 1;          
  21.        country = html.Substring(index);                   //得到国家          
  22.        adr = GetAdrByIp(ip);          
  23.        return "IP:" + ip + "  国家:" + country + "  省市:" + adr;     
  24.    }          
  25.    #endregion     
  26.  
  27.    #region##通过IP得到IP所在地省市      
  28.    /// <summary>      
  29.    /// 通过IP得到IP所在地省市(Porschev)      
  30.    /// </summary>      
  31.    /// <param name="ip"></param>      
  32.    /// <returns></returns>      
  33.    public string GetAdrByIp(string ip)      

抱歉!评论已关闭.