public class IPAddress
{
/// <summary>
/// 得到真实IP以及所在地详细信息(Porschev)
/// </summary>
/// <returns></returns>
public string GetIpDetails()
{
string url = "http://www.ip138.com/ips8.asp"; //设置获取IP地址和国家源码的网址
string regStr = "(?<=<td\\s*align=\\\"center\\\">)[^<]*?(?=<br/><br/></td>)";
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;
}
/// <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;
}
分享到:
相关推荐
根据IP地址获去IP所属省、市、区以及运营商 。使用方法,先将IP地址转换为数字,然后根据NUM_START很NUM_END范围查询IP所属区域
tcp/ip 数据包获工具 可以检测输入输出数据包的IP地址!
网通连网重获IP地址,只要你Internet网络的属性已经设为随机获取IP了,轻松获得IP!
PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置
在当今的网络编程和系统管理中,获取本机的MAC地址和IP地址是基础且常见的需求。在Python这种编程语言中,它提供了丰富的方法来实现这一目标。接下来,我将结合文档中提供的代码和描述,详细介绍如何在Python中获取...
在IT领域,获取IP地址所在地理位置是常见的需求,这通常涉及到网络编程和地理定位技术。本文将详细讨论如何使用QQwry.dat文件来获取IP地址的所在地信息。 QQwry.dat是一个由QQ公司维护的IP数据库,它包含了全球大...
在学校、公共机房,对于连自动分配IP都不会的小白学生很有用哦。
检测谷歌翻译有效IP工具(可写入HOSTS),GUI界面方便操作,可有效检测谷歌翻译IP的可用性,让谷歌(Google)翻译重获新生!可参考以下网站操作:https://hcfy.app/blog/2022/09/28/ggg ...
这样,只要获取运行程序的机器ip问题就解决了,然而,pb中没有象delphi 中有现成的函数可以很方便的获的机器的ip,我们只好利用外部函数来实现了。 首先声明外部函数 function int WSAStartup( uint ...
"优质游戏IP获高溢价,利好游戏研发商"这一主题表明,拥有高质量游戏IP的游戏研发商在市场中占据了有利地位,并且能够获得更高的商业价值。下面将对这一主题进行深入探讨。 首先,我们要理解什么是游戏IP。游戏IP...
随手写的一个Winfrom小程序,首先获取本机的广域网的IP地址,再根据IP获取出所在城市,在根据城市获取出天气情况。我在网上看了好多关于获取外网IP的帖子,试了好多都获取不到外网的IP获取到是只是一段HTML代码,我...
$cip = "無法獲取"; } return $cip; } ``` **解析:** 1. **$_SERVER["HTTP_CLIENT_IP"]**:此变量用于捕获通过代理服务器发送的客户端真实IP。 2. **$_SERVER["HTTP_X_FORWARDED_FOR"]**:当数据经过多个代理时...
上海龙晶获Tensilica Diamond 330HiFi音频处理器IP核授权的意义在于,它能够为上海龙晶提供高质量的音频处理性能,同时也能够降低功耗和尺寸,满足便携式音频设备、智能家电、汽车娱乐系统等领域的需求。同时,这也...
标题提到的“立达信IP摄像头获TUV莱茵颁发消费类产品网络安全认证证书”意味着立达信公司的IP摄像头产品在网络安全方面达到了高标准。TUV莱茵是一家知名的第三方检测认证机构,其颁发的ETSI TS 103645认证证书是针对...
(换IP软件) 「芝麻IP软件」 覆盖263个城市,拥有3千万海量IP,随意切换不重复,「延迟低_切换快_网不卡」2018年获99%口碑的「免费试用」
(换IP软件) 「芝麻IP软件」 覆盖263个城市,拥有3千万海量IP,随意切换不重复,「延迟低_切换快_网不卡」2018年获99%口碑的「免费试用」
"Dialog半导体获Cadence业界领先的TENSILICA HiFi Audio_Voice DSP IP授权" Dialog半导体获得Cadence业界领先的TENSILICA HiFi Audio_Voice DSP IP授权,这意味着Dialog半导体获得了 Cadillac的TENSILICA HiFi ...
在芯片技术领域中,ARM架构和IP授权模式是近年来业界关注的焦点。展讯获得ARM实体IP技术授权开发28nm芯片这一事件,为我们深入理解和学习芯片技术提供了很好的案例。 首先,ARM技术授权模式是指ARM公司通过授权协议...
7.如何获取主机名和IP地址?(Visual C++编程 源代码)7.如何获取主机名和IP地址?(Visual C++编程 源代码)7.如何获取主机名和IP地址?(Visual C++编程 源代码)7.如何获取主机名和IP地址?...如何获