如何获得本地IP地址?

时间:2019-05-10 08:36:55

标签: vb.net

这是我的代码获取IP地址:

    Dim ip
    Dim strHostName = System.Net.Dns.GetHostName()   
    Dim iphe As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(strHostName)
    For Each ipheal As System.Net.IPAddress In iphe.AddressList
        If ipheal.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then
            ip = ipheal
            Exit For
        End If
    Next

如果我的PC通过VPN连接到网络。返回网络VPN的IP。

我只想获取本地IP(网络VPN除外)。

1 个答案:

答案 0 :(得分:1)

您可以列出列表中的所有IP地址,然后根据该列表做出决定。因此,不要退出FOR循环,而是处理所有IP地址。那是你能做的最好的。 请参见下面的代码段。

Imports System.Net.Sockets

Module Module1

    Sub Main()


        Dim iphe As Net.IPHostEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName())
        Dim ip = iphe.AddressList.Where(Function(n) n.AddressFamily = AddressFamily.InterNetwork)
        For Each i  In ip
            Console.WriteLine(i)    
        Next

        Console.ReadLine()
    End Sub

End Module