在C#中获取外部IP地址的最简单方法是什么?
答案 0 :(得分:7)
在框架内没有内置的方法,因为很难确定外部/公共IP地址是什么。这当然是假设您的IP是在某个网关后面的NAT。
一种方法是使用http://www.whatismyip.org/类来抓取WebClient这样的网站。
System.Net.WebClient client = new System.Net.WebClient();
string ip = client.DownloadString( "http://www.whatismyip.org" );
Console.Out.WriteLine( ip );
答案 1 :(得分:3)
public static string GetExternalIP()
{
using (var wc = new System.Net.WebClient())
return wc.DownloadString("http://whatismyip.org");
}
答案 2 :(得分:0)
public String getLocalIP()
{
IPHostEntry host;
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
return ip.ToString();
}
}
return "127.0.0.1";
}