C#如何获取本机网络ip地址

C#如何获取本机网络ip

有几种方法获取本机局域网地址和网络地址。

1.  获取本机局域网地址:

使用IPHostEntry

        static string GetLocalIp()
        {
            string hostname = Dns.GetHostName();
            IPHostEntry localhost = Dns.GetHostByName(hostname);
            IPAddress localaddr = localhost.AddressList[0];
            return localaddr.ToString();
        }

 

2. 获取本机网络ip地址

通过向网站http://www.ip138.com/ip2city.asp发送webrequest,分析返回的数据流

           try
           {
               string strUrl = "http://www.ip138.com/ip2city.asp";     //获得IP的网址
               Uri uri = new Uri(strUrl);
               WebRequest webreq = WebRequest.Create(uri);
               Stream s = webreq .GetResponse().GetResponseStream();
               StreamReader sr = new StreamReader(s, Encoding.Default);
               string all = sr.ReadToEnd();         //读取网站返回的数据  格式:您的IP地址是:[x.x.x.x]
               int i = all.IndexOf("[") + 1;
               string tempip = all.Substring(i, 15);
               string ip = tempip.Replace("]", "").Replace(" ", "").Replace("<","");     //去除杂项找出ip
               return ip;
           }

 

3. 获取本机网络ip地址和城市地址,webservices方式

利用网站webxml提供的获取ip的web services,在引用网站后取得ip地址

            try
            {
                webxmlIPservice.IpAddressSearchWebService WebIP = new webxmlIPservice.IpAddressSearchWebService();
                string[] strIP = WebIP.getGeoIPContext();
                return strIP[1];    //返回的数组0为ip地址,数组1为城市
            }

 

以下左下角为利用第3种方法获取的本地城市信息:

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值