Extern IP adres verkrijgen

Status
Niet open voor verdere reacties.

ninjaplayer

Gebruiker
Lid geworden
15 apr 2007
Berichten
603
Ik zoek een manier om het externe ip adres te krijgen.
Dit heb ik op google gevonden maar dan krijg ik 192.168.1.8 oid ipv de externe:
Code:
    Public Function GetIPAddress() As StringCollection
        Dim localIP = New StringCollection()
        Dim localHostName = Dns.GetHostName()
        Dim hostEntry = Dns.GetHostEntry(localHostName)
        ' Grab all ip addesses.
        For Each ipAddr As IPAddress In hostEntry.AddressList
            localIP.Add(ipAddr.ToString())
        Next
        GetIPAddress = localIP

    End Function

Dit heb ik ook nog gevonden maar dit werkt ook niet: "De objectverwijzing is niet op een exemplaar van een object ingesteld."
Code:
    Public Function GetExternalIp() As IPAddress
        Dim whatIsMyIp As String = "http://whatismyip.com"
        Dim getIpRegex As String = "(?<=<TITLE>.*)\d*\.\d*\.\d*\.\d*(?=</TITLE>)"
        Dim wc As New WebClient()
        Dim utf8 As New UTF8Encoding()
        Dim requestHtml As String = ""
        Try
            requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp))
        Catch we As WebException
            ' do something with exception
            MsgBox(we.ToString, MsgBoxStyle.Critical)
        End Try
        Dim r As New Regex(getIpRegex)
        Dim m As Match = r.Match(requestHtml)
        Dim externalIp As IPAddress = Nothing
        If m.Success Then
            externalIp = IPAddress.Parse(m.Value)
        End If
        GetExternalIp = externalIp
    End Function
 
Laatst bewerkt:
@puppie: ik neem aan dat de TS het in vb wilt doen :p

@Ninja: De 2e code ziet er wel goed uit, welke regel heeft de fout? Of is er geen regel.
 
Als ik de function bijvoorbeeld in een msgbox gebruik, wordt daar de fout weergeven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan