C# 如何获取公共IP v4地址

C# 如何获取公共IP v4地址,c#,ip-address,C#,Ip 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 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网络地址。如何仅获取公共ip地址?

您必须从web客户端调用站点并获取公共ip

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

这些是真实的ip地址-你想要哪一个?可能是公共ip地址?是的,我想要获得公共ip地址,所以你只想要特定适配器类型的ip地址?您可以循环查看
NetworkInterface.GetAllNetworkInterfaces()
的结果,根据需要填写,并通过
NetworkInterface.GetIPProperties().UnicastAddresses
获取合适接口的IP地址。我认为OP不是在问这个问题。嗯,我想他是在问公共IP(真实IP)。我们等他回来吧。谢谢您指出。@cdev谢谢,但计算机的网络访问可能有限。