[VB.NET] Lösung: Externe-IP auslesen.
(Autor: s c a e n і с u s, 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
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
Artikelbaum anzeigen
Re: [VB.NET] Lösung: Externe-IP auslesen.
(Autor: М . L ., Antwort nach 37 Min)
Auch hallo.
Hm, mit SharpDevelop RC2 (& .NET 1.1 & 2.0) will das irgendiwe nicht richtig...
mfg M.L.
Und weil ich über wer-weiss-was ettliche Unterstützung
bekommen habe,
Innerhalb von 3 Wochen ? (Dabei seit 19.06.2006)bekommen habe,
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 ;-)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
Hm, mit SharpDevelop RC2 (& .NET 1.1 & 2.0) will das irgendiwe nicht richtig...
mfg M.L.
Re^2: [VB.NET] Lösung: Externe-IP auslesen.
(Autor: ѕ с а е n i с u ѕ, Antwort nach 11 Min)
Und weil ich über wer-weiss-was ettliche Unterstützung
bekommen habe,
Innerhalb von 3 Wochen ? (Dabei seit 19.06.2006)bekommen habe,
Hm, mit SharpDevelop RC2 (& .NET 1.1 & 2.0) will das irgendiwe
nicht richtig...
Seltsam... na vielleicht hilft das:nicht richtig...
¶ 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.
Re^3: [VB.NET] Lösung: Externe-IP auslesen.
(Autor: Μ . L ., Antwort nach 8 h, 58 Min)
Hallo nochmal.
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.
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:nicht richtig...
-der IDE fehlt was
-Falsche Projketeinstellung seitens des Nutzers
-Quellcode (tatsächlich) fehlerhaft
-...
mfg M.L.
Du kannst auf diesen Artikel nicht antworten.
Dieser Artikelbaum ist im Archiv des Experten-Forums von wer-weiss-was zum Thema ".NET & C#" archiviert. Es handelt sich um keine aktuelle Diskussion, daher kann auf die Artikel nicht mehr geantwortet werden.
Folgende Artikel könnten Dich auch interessieren:
WriteAllText in VB ohne VariablenkennungMS Internet Transfer Control 6.0
Programm beenden - wie?
IP-Adresse
Letzten Benutzer/letzte Änderung anzeigen
Textdatei einlesen
Datenbank
IP-Adresse lokalisieren ... wie?
How to catch Script Kiddies
WinXP-LAN Rätsel
Weitergabeschutz realisieren
Mit VBA eine Email mit Link zu Datei erstellen
vorheriger Artikelbaum
(Anwendung beendet sich, warum?)
(Visual C#: Datei öffnen und in Textbox anzeigen)
nächster Artikelbaum















