【发布时间】:2018-12-14 03:02:01
【问题描述】:
我正在使用以下代码来获取 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地址?
【问题讨论】:
-
那些是真实IP地址 - 你想要哪一个?
-
可能是公网IP地址?
-
是的,我要获取公网ip地址
-
所以您只想获取特定适配器类型的 IP 地址?您可以循环遍历
NetworkInterface.GetAllNetworkInterfaces()的结果,根据需要进行填充,并通过NetworkInterface.GetIPProperties().UnicastAddresses获取合适接口的IP地址
标签: c# ip-address