博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据IP获取省市 .
阅读量:7109 次
发布时间:2019-06-28

本文共 2493 字,大约阅读时间需要 8 分钟。

public class IPAddress    {        ///                /// 得到真实IP以及所在地详细信息(Porschev)               ///                /// 
public string GetIpDetails() { string url = "http://www.ip138.com/ips8.asp"; //设置获取IP地址和国家源码的网址 string regStr = "(?<=
)[^<]*?(?=
)"; 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; //IP地址 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 = ma.Value; //得到IP int index = html.LastIndexOf(":") + 1; country = html.Substring(index); //得到国家 adr = GetAdrByIp(ip); return "IP:" + ip + " 国家:" + country + " 省市:" + adr; } ///
/// 通过IP得到IP所在地省市(Porschev) /// ///
///
public string GetAdrByIp(string ip) { string url = "http://www.cz88.net/ip/?ip=" + ip; string regStr = "(?<=
).*?(?=)"; 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]; } ///
/// 获取HTML源码信息(Porschev) /// ///
获取地址 ///
HTML源码
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; } }

 

转载于:https://www.cnblogs.com/jkyweb/p/3446074.html

你可能感兴趣的文章
C语言位操作--逻辑运算符组合
查看>>
百度文库、优酷、土豆等网站的几个小窍门
查看>>
2013华为招聘上机--- 字符串处理转换
查看>>
Max retries exceeded with ur
查看>>
c#中WebBrowser控件的使用方法
查看>>
第一版
查看>>
PHP时间比较和时间差如何计算
查看>>
hdu1495(经典bfs,平分水问题)
查看>>
4月27日微软云训练营活动-现场图集
查看>>
[Ubuntu] APT - Advanced Packaging Tool 简明指南
查看>>
PostgreSQL的autovacuum 与 vacuum full
查看>>
2013Hulu校园招聘笔试题
查看>>
每日英语:First Offer: Take It Or Keep Waiting?
查看>>
为iOS应用制作一个二维码
查看>>
软件运行过慢?系统打开特别慢?连系统都装不了?可能是硬盘坏了
查看>>
分析MySQL慢日志(转)
查看>>
Gradle学习系列之三——读懂Gradle语法
查看>>
把1000个随机数写入到文件中
查看>>
如果让我完善几年前的一个项目,我会做哪些改进?
查看>>
Mockito为什么不能mock静态方法
查看>>