关于获得本机外网IP地址的问题
Posted 再不吃药吃枣药丸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于获得本机外网IP地址的问题相关的知识,希望对你有一定的参考价值。
改了个系统中的小功能,显示在线用户的IP地址和MAC地址,用到了这几个方法,记录下。
方法1,获得IP地址:
string ipAddress = ""; WebRequest wr =WebRequest.Create("http://1212.ip138.com/ic.asp"); Stream s = wr.GetResponse().GetResponseStream(); StreamReader sr = new StreamReader(s, Encoding.Default); string all = sr.ReadToEnd(); //读取网站的数据 int start = all.IndexOf("您的IP是:[") + 7; int end = all.IndexOf("]", start); ipAddress = all.Substring(start, end - start);
方法2,可以通过引用using System.Net进行获取,不过由于我这边是自动获取IP的所以没有采用这种方法
string hostName = Dns.GetHostName(); IPHostEntry Entry = Dns.GetHostByName(Dns.GetHostName()); IPAddress pAddress = new IPAddress(Entry.AddressList[0].Address);//内网地址 IPAddress wAddress = new IPAddress(Entry.AddressList[1].Address);//外网地址 但是对于使用自动获取IP的本机,则无法取得外网的IP
之前也看了园子里其他人使用的方法,大多都是方法1吧,
"http://1212.ip138.com/ic.asp"这个
网址可能会发生变化,第一次用的时候是拷贝别人的代码网址没有改,发现没有获取到IP查看了网页的源码,发现显示IP的地方用iframe跳转了一下,然后我把链接改为了iframe跳转的网页才获取到了IP,以后注意下吧。
以上是关于关于获得本机外网IP地址的问题的主要内容,如果未能解决你的问题,请参考以下文章