一.本地IP
Winform要获得本地IP,就要想到C#中的 IPHostEntry 类
好吧,方法如下:
引入命名空间:
using
System.Net;
实现方法:
IPHostEntry ipHost
=
Dns.Resolve(Dns.GetHostName()); ;
IPAddress ipaddress = ipHost.AddressList[ 0 ];
string ips = ipaddress.ToString();
IPAddress ipaddress = ipHost.AddressList[ 0 ];
string ips = ipaddress.ToString();
二.外网IP
Winform想获得外网IP,类库里好像还没有这样一个类哦,就只好去访问返回IP信息的网页来读取,目前我只找到这个方法.
我找了两个网页提供给大家哈
方法如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
///
<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;
}
/// 获得客户端外网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;
}