Ich habe mehrere Methoden zum Abrufen Ihrer externen IP-Adresse in .NET gesehen; Was ich mich wundere ist, alle üblichen Variablen sind die gleichen (Internetverbindung Geschwindigkeit, etc.) Was ist die schnellste Code zum Abrufen Ihrer externen IP-Adresse?Was ist der absolut schnellste Weg, um externe IP-Adresse zu holen?
Hier ist die schnellste, die ich bisher gesehen habe:
Private Function GetExternalIP() As String
Dim m As Match = Match.Empty
Try
Dim wClient As New System.Net.WebClient
Dim strURL As String = wClient.DownloadString("https://www.google.com/search?q=my+ip")
Dim strPattern As String = "\b(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\b"
' Look for the IP
m = Regex.Match(strURL, strPattern)
Catch ex As Exception
Debug.WriteLine(String.Format("GetExternalIP Error: {0}", ex.Message))
End Try
' Failed getting the IP
If m.Success = False Then Return "IP: N/A"
' Got the IP
Return m.value
End Function
Ich weiß, es gibt auch andere Möglichkeiten, um die externe IP als auch, dh mit der WebBrowser
Steuerung zu holen, eine Seite zu erhalten, die Ihre IP-Berichte und Parsen es dann aus den Ergebnissen oder auch mit einigen Befehlszeilenmethoden, wie das Hantieren:
nslookup myip.opendns.com. resolver1.opendns.com
Hat jemand schon einmal die Zeit genommen, um ihre eigenen Tests durchführen zu bekommen, die schnellsten t Methode?
Interessant. Ich habe Google als Quelle verwendet, da es wahrscheinlich ist, dass es in Zukunft eher "immer da" sein wird, als eine Website, die jederzeit verschwinden könnte. Ich habe so viele IP-Sites gesehen, die einfach weggehen und deine App zerstören. Aber ich verstehe das Konzept, die Informationen von einer Seite zu bekommen, die nicht einen Haufen anderer Quellcodes enthält, um sie zu analysieren. –
Ich stimme Ihren Bedenken bezüglich der Verfügbarkeit des Dienstes zu. Ich behalte diese URL in einer Konfigurationsdatei für einfache Wartung/Änderung – Steve
Wenn nur Google uns eine einfache IP-Infoseite zur Verfügung stellen würde. =) –