我有以下代码:
Dim ipAdd As IPAddress = Dns.GetHostEntry(strHostname).AddressList(0) Dim strIP As String = ipAdd.ToString()
当我转换为String而不是像192.168.1.0或类似的IPv4地址时,我得到IPv6版本:fd80 :: 5dbe:5d89:e51b:d313地址.
有没有办法可以从IPAddress类型返回IPv4地址?
谢谢
您可以获取第一个IPv4地址,而不是无条件地获取AddressList的第一个元素:
var address = Dns.GetHostEntry(strHostname) .AddressList .First(ip => ip.AddressFamily == AddressFamily.InterNetwork);