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;
}


posted @ 2010-01-27 10:52  吴庆阳  阅读(8332)  评论(0编辑  收藏  举报