码迷,mamicode.com
首页 > 其他好文 > 详细

关于获得本机外网IP地址的问题

时间:2016-09-14 10:58:25      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

    改了个系统中的小功能,显示在线用户的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地址的问题

标签:

原文地址:http://www.cnblogs.com/waxwt/p/5870922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!