Winform获取本地IP和外网IP

一.本地IP

Winform要获得本地IP,就要想到C#中的 IPHostEntry 类

好吧,方法如下:

引入命名空间:

using  System.Net;

实现方法:

IPHostEntry ipHost  =  Dns.Resolve(Dns.GetHostName()); ;
IPAddress ipaddress 
=  ipHost.AddressList[ 0 ];
string  ips  =  ipaddress.ToString();


 二.外网IP

Winform想获得外网IP,类库里好像还没有这样一个类哦,就只好去访问返回IP信息的网页来读取,目前我只找到这个方法.

我找了两个网页提供给大家哈

方法如下:

///   <summary>
///  获得客户端外网IP地址
///   </summary>
///   <returns> IP地址 </returns>
public   static   string  GetClientInternetIP()
{
    
string  ipAddress  =   "" ;
    
using  (WebClient webClient  =   new  WebClient())
    {
        ipAddress 
=  webClient.DownloadString( " http://www.dxda.com/ip.asp " ); // 站获得IP的网页
        
// 判断IP是否合法
         if  ( ! System.Text.RegularExpressions.Regex.IsMatch(ipAddress,  " [0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} " ))
        {
            ipAddress 
=  webClient.DownloadString( " http://www.zu14.cn/ip/ " ); // 站获得IP的网页
        }
    }
    
return  ipAddress;
}


你可能感兴趣的:(WinForm)