C#中的外部IP地址

时间:2010-02-27 03:35:23

标签: c#

在C#中获取外部IP地址的最简单方法是什么?

3 个答案:

答案 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";
}