如何获取 public IPv4 地址

How to get the public IP v4 address

我正在使用以下代码获取 ip v4 地址:

IPAddress[] ipAddress = Dns.GetHostAddresses(mycomputerName);
foreach (IPAddress ipaddr in ipAddress)
{
    if (ipaddr.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
    {
        Console.WriteLine(ipaddr);
    }
}

测试时发现会得到三个ip地址:
192.168.241.1
192.168.200.1
10.108.150.48

第一个和第二个地址是我的vmware网络地址。如何只获取public ip地址?

您必须从 Web 客户端调用 this 站点并获取您的 public ip。

 string public = new WebClient().DownloadString("http://icanhazip.com");