vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik:    |   VB-Versionen: VB2005, VB200801.04.11
Eigene Online IP-Adresse ermitteln (.NET)

Mit dieser Funktion lässt sich schnell die eigene Online IP-Adresse ermitteln, mit der man im Internet unterwegs ist.

Autor:  Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  1.772 
http://www.tools4vb.de/System:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt 

Die lokale Rechner IP-Adresse unterscheidet sich bekanntlich von der IP-Adresse mit der man online im Internet unterwegs ist.

Durch Aufruf der Internetseite http://checkip.dyndns.org bekommt seine eigene Online IP-Adresse angezeigt.

Was liegt also näher, als einfach den Inhalt dieser Seite auszulesen, wenn man zur Laufzeit die Online IP-Adresse des Anwenders ermitteln muss.
Und genau das erledigt nachfolgender Code:

Imports System.Net
Imports System.IO
...
' Internet-Datei auslesen
Private Function inetReadFile(ByVal sURL As String) As String
  Dim sBuffer As String
 
  ' WebRequest
  Dim oRequest As WebRequest = WebRequest.Create(sURL)
 
  ' GET-Methode (wir wollen etwas abholen :-)
  oRequest.Method = "GET"
 
  ' Antwort auf unsere Anfrage abholen
  Dim oResponse As WebResponse = oRequest.GetResponse()
 
  ' Datenstrom auslesen
  Dim oStream As New StreamReader(oResponse.GetResponseStream())
  sBuffer = oStream.ReadToEnd()
  oStream.Close()
 
  ' Beenden
  oResponse.Close()
 
  ' Inhalt zurückgeben
  Return sBuffer
End Function
''' <summary>
''' Ermittelt die eigene Online IP-Adresse
''' </summary>
Public Function GetOnlineIPAddress() As String
  Dim sIP As String = ""
 
  ' URL, die uns die eigene Online IP-Adresse verrät
  Dim sURL As String = "http://checkip.dyndns.org"
 
  ' Inhalt der Internetseite auslesen
  Dim sBuffer As String = inetReadFile(sURL)
  If sBuffer.Length > 0 Then
    ' IP-Adresse extrahieren
    If sBuffer.Contains("Current IP Address: ") Then
      sBuffer = sBuffer.Substring(sBuffer.IndexOf("Current IP Address: ") + 20)
      If sBuffer.IndexOf("<") > 0 Then
        sIP = sBuffer.Substring(0, sBuffer.IndexOf("<"))
      End If
    End If
  End If
 
  Return (sIP)
End Function

Aufrufbeispiel:

' Online IP-Adresse ermitteln
Dim sIP As String = GetOnlineIPAddress()
If sIP.Length > 0 Then
  MsgBox("Eigene Online IP-Adresse: " & sIP)
Else
  MsgBox("Die Online IP-Adresse konnte nicht ermittelt werden!")
End If