源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#通过ip获取地理信息

  • 时间:2020-02-19 22:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#通过ip获取地理信息
[u]复制代码[/u] 代码如下:
/// <summary>       /// 通过IP得到IP所在地省市(Porschev)       /// </summary>       /// <param name="ip"></param>       /// <returns></returns>       public string GetAdrByIp(string ip)       {           string url = "http://www.cz88.net/ip/?ip=" + ip;           string regStr = "(?<=<span\\s*id=\\\"cz_addr\\\">).*?(?=</span>)";           //得到网页源码           string html = GetHtml(url);           Regex reg = new Regex(regStr, RegexOptions.None);           Match ma = reg.Match(html);           html = ma.Value;           string[] arr = html.Split(' ');           return arr[0];       }       /// <summary>       /// 获取HTML源码信息(Porschev)       /// </summary>       /// <param name="url">获取地址</param>       /// <returns>HTML源码</returns>       public string GetHtml(string url)       {           string str = "";           try           {               Uri uri = new Uri(url);               WebRequest wr = WebRequest.Create(uri);               Stream s = wr.GetResponse().GetResponseStream();               StreamReader sr = new StreamReader(s, Encoding.Default);               str = sr.ReadToEnd();           }           catch (Exception e)           {           }           return str;       }       /// <summary>       /// 得到真实IP以及所在地详细信息(Porschev)       /// </summary>       /// <returns></returns>       public string GetIpDetails()       {           //设置获取IP地址和国家源码的网址           string url = "http://www.ip138.com/ips8.asp";           string regStr = "(?<=<td\\s*align=\\\"center\\\">)[^<]*?(?=<br/><br/></td>)";           //IP正则           string ipRegStr = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";           //IP地址           string ip = string.Empty;           //国家           string country = string.Empty;           //省市           string adr = string.Empty;           //得到网页源码           string html = GetHtml(url);           Regex reg = new Regex(regStr, RegexOptions.None);           Match ma = reg.Match(html); html = ma.Value;           Regex ipReg = new Regex(ipRegStr, RegexOptions.None);           ma = ipReg.Match(html);           //得到IP           ip = ma.Value;           int index = html.LastIndexOf(":") + 1;           //得到国家           country = html.Substring(index);           adr = GetAdrByIp(ip);           return "IP:" + ip + " 国家:" + country + " 省市:" + adr;       }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部