我用这个hostInfo.AddressList来获取机器的ip地址.它以字母格式返回,例如ff80 :: c9c9:b2af:aa0f:e2d2%12,我想要的是将其格式化为IP地址格式(数字).
有帮助吗?
使用c#,.net 3.5
您提供的格式是表示IPv6地址的正确方法.不存在用于表示IPv6地址的ABCD格式.
发生了什么事情,你得到的是IPv4和IPv6的地址列表.你正在寻找IPv4的.
string GetFirstIPv4Address()
{
IPAddress[] addressList = Dns.GetHostAddresses(hostname);
foreach (IPAddress ip in addressList)
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
//This is an IPv4 address
return ip.ToString();
}
}
return "127.0.0.1";
}
Run Code Online (Sandbox Code Playgroud)