[VB.NET] Lösung: Externe-IP auslesen.

Von: , Frage gestellt am Mo, 10. Jul 2006

Hallo.


Für alle die einen Router haben stellt sich ja manchmal das Problem, dass sie die IP-Adresse mit der einem alle sehen können nicht aus dem Windows auslesbar ist.

Natürlich ist es möglich, eine Seite wie http://checkip.dyndns.org/ zu besuchen, oder (wer die Möglichkeit hat) sich eine eigene HP zu machen, die einem die Adresse anzeigt, aber der Code muss erst ins Programm gebracht werden.

Und weil ich über wer-weiss-was ettliche Unterstützung bekommen habe, möchte ich dieses Mal gleich den Lösungs-Code posten um seine Externe-IP mit Hilfe von dyndns zu bekommen.

Dim IPAdresse As String
'HTML-Datei herunterladen (hier in den Programmordner):
My.Computer.Network.DownloadFile("http://checkip.dyndns.org/", My.Application.Info.DirectoryPath & "\ip.tmp")
'In den Buffer laden:
IPAdresse = My.Computer.FileSystem.ReadAllText(My.Application.Info.DirectoryPath & "\ip.tmp")
'Die Datei kann wieder gelöscht werden:
My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath & "\ip.tmp")
'IP-Adresse ausfiltern (hier steht sie zwischen ": " und "</body>"
IPAdresse = Right(IPAdresse, IPAdresse.Length - IPAdresse.IndexOf(": ") - 2)
'-2, weil ": " zwei Zeichen sind.
IPAdresse = Left(IPAdresse, IPAdresse.IndexOf("</body>"))
'Im String IPAdresse ist jetzt die Internet-IP-Adresse

3 Antworten zu dieser Frage

  1. Antwort von nach 37 Minuten 0 hilfreich
    Re: [VB.NET] Lösung: Externe-IP auslesen.

    Auch hallo. Und weil ich über wer-weiss-was ettliche Unterstützung
    bekommen habe,
    Innerhalb von 3 Wochen ? (Dabei seit 19.06.2006) möchte ich dieses Mal gleich den Lösungs-Code
    posten um seine Externe-IP mit Hilfe von dyndns zu bekommen.
    ...den pre-Tag sollte man besser nicht vergessen ;-)

            Dim IPAdresse As String
            'HTML-Datei herunterladen (hier in den
    Programmordner):
           
    My.Computer.Network.DownloadFile("http://checkip.dyndns.org/",
    My.Application.Info.DirectoryPath & "\ip.tmp")
            'In den Buffer laden:
            IPAdresse =
    My.Computer.FileSystem.ReadAllText(My.Application.Info.DirectoryPath
    & "\ip.tmp")
            'Die Datei kann wieder gelöscht werden:
           
    My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath
    & "\ip.tmp")
            'IP-Adresse ausfiltern (hier steht sie zwischen ": "
    und "</body>"
            IPAdresse = Right(IPAdresse, IPAdresse.Length -
    IPAdresse.IndexOf(": ") - 2)
    '-2, weil ": " zwei Zeichen sind.
            IPAdresse = Left(IPAdresse,
    IPAdresse.IndexOf("</body>"))
            'Im String IPAdresse ist jetzt die Internet-IP-Adresse
    


    Hm, mit SharpDevelop RC2 (& .NET 1.1 & 2.0) will das irgendiwe nicht richtig...

    mfg M.L.

    • Antwort von nach einer Stunde 0 hilfreich
      Re^2: [VB.NET] Lösung: Externe-IP auslesen.

      Und weil ich über wer-weiss-was ettliche Unterstützung
      bekommen habe,
      Innerhalb von 3 Wochen ? (Dabei seit 19.06.2006)
      Google läuft auch über w-w-w. Bisher ist das auch mein 1. Post - bisher hab ich immer alles gefunden, was ich suchte, musste mich also nie anmelden und tat es nur um eben künftig selbst unterstützen zu können. Hm, mit SharpDevelop RC2 (& .NET 1.1 & 2.0) will das irgendiwe
      nicht richtig...
      Seltsam... na vielleicht hilft das:

      ¶ Wenn er die Datei nicht downloaded, versuch mal einen WebClient zu definieren und mit dem downzuloaden:
      Dim DL As New System.Net.WebClient
      DL.DownloadFile(

      ¶ Manchmal will er mit dem Left und Right - Befehl nicht im String arbeiten.
      Näher definiert sind die richtigen Befehle:
      Strings.Right(
      Strings.Left(

      ¶ Versuch mal den Zielordner vom Downloadbefehl auszutauschen.

      • Antwort von nach 8 Stunden 0 hilfreich
        Re^3: [VB.NET] Lösung: Externe-IP auslesen.

        Hallo nochmal. Google läuft auch über w-w-w.
        Ach so :-) Hm, mit SharpDevelop RC2 (& .NET 1.1 & 2.0) will das irgendiwe
        nicht richtig...
        Seltsam... na vielleicht hilft das:
        Gemeint war, dass das direkte copy'n'paste Verfahren des Codes innerhalb der pre-Tags nicht automatisch zu einem lauffähigen Programm führt. Und das kann mehrere Ursachen haben:
        -der IDE fehlt was
        -Falsche Projketeinstellung seitens des Nutzers
        -Quellcode (tatsächlich) fehlerhaft
        -...

        mfg M.L.

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!