[英]Formatting IP address in C#
我使用這個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";
}
那是一種 ip 地址格式,特別是 IPv6 IP 地址。 聽起來您想要一個 IPv4 地址,但是如果不知道您的網絡是如何配置的,則無法將 IPv6 地址向下轉換為 IPv4 地址。
如果你的主機有 v6 地址,我建議你堅持使用它。 您當然不應該嘗試在應用程序級別對地址進行下轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.