1. #1

    Registriert seit
    31.01.2011
    Beiträge
    7
    Thanked 4 Times in 4 Posts

    Standard [VB.Net-Source] GetIP

    Ich habe gerade aus Langeweile ein wirklich sehr simples Tool gemacht. Es dient dazu, die IP-Adresse, das Herkunftsland und das Betriebssystem anzuzeigen.
    Das Ganze hat mich vielleicht 15 Minuten gekostet. Ich dachte mir, dass ich es hier poste, vielleicht ist es ja für Anfänger recht gut.

    Es funktioniert so: Das Programm steuert die Webseite Wie ist meine IP-Adresse? an und liest die oben genannten Daten mithilfe von RegEx aus dem Quelltext aus.

    Hier zum Code:
    Code:
    ' Benötigte Namespace-Importierungen
    Imports System.Text.RegularExpressions
    Imports System.IO
    
    Public Class frmMain
    
        Private Sub wbbIP_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wbbIP.DocumentCompleted
            ' Variablen Deklarieren
            Dim strQuelltext As String
            Dim strIP, strBetriebssystem, strLand As String
    
            ' Der Quelltext-Variable den Text der Webseite zuweisen. (Also nur der Text, NICHT den HTML-Code)
            strQuelltext = wbbIP.Document.Body.InnerText
    
            ' Mit RegEx die IP-Adresse, das Herkunftsland und das Betriebssystem filtern
            strIP = Regex.Match(strQuelltext, "Ihre IP-Adresse ist :.*\n.*", RegexOptions.IgnoreCase).ToString.Replace("Ihre IP-Adresse ist :", "").Replace(Chr(10), "").Trim
            strLand = Regex.Match(strQuelltext, "Herkunft: .*", RegexOptions.IgnoreCase).ToString.Replace("Herkunft: ", "").Trim
            strBetriebssystem = Regex.Match(strQuelltext, "Ihr Betriebssystem: .*", RegexOptions.IgnoreCase).ToString.Replace("Ihr Betriebssystem: ", "").Trim
    
            ' Wieder den Standard-Cursor verwenden
            UseWaitCursor = False
            ' Die soeben geladeten Daten anzeigen
            lblAnzeige.Text = "IP-Adresse: " & strIP & vbCrLf & "Herkunftsland: " & strLand & vbCrLf & "Betriebssystem: " & strBetriebssystem
        End Sub
    
        Private Sub wbbIP_NewWindow(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles wbbIP.NewWindow
            ' Ein sich öffnen wollendes Pop-Up unterdrücken
            e.Cancel = True
        End Sub
    
        Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' Den WebBrowser die Seite laden lassen
            wbbIP.Navigate("http://www.wieistmeineip.de/")
        End Sub
    End Class
    Natürlich gibt es auch ein Beispielprojekt
    Download

    MfG.

  2. #2

    Registriert seit
    12.12.2011
    Beiträge
    39
    Thanked 24 Times in 16 Posts

    Standard [VB.Net-Source] GetIP

    Uuuh, benutze für sowas doch keinen webbrowser.

  3. #3

    Registriert seit
    19.02.2011
    Beiträge
    9
    Thanked 13 Times in 6 Posts

    Standard [VB.Net-Source] GetIP

    Was soll das mit dem Webbrowser? Kannst doch einfach mit der Klasse System.Net.WebClient den Quellcode der Seite runterladen und dann die IP rausregexen.

    Ich dachte mir, dass ich es hier poste, vielleicht ist es ja für Anfänger recht gut.
    Ist eher nicht für Anfänger gedacht, weil das Webbrowser-Element einfach überhaupt nicht für sowas gedacht ist.

    Die Kommentare im Source sind teilweise auch Quatsch:
    ' Variablen Deklarieren

  4. #4
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard [VB.Net-Source] GetIP

    Die 1000 Zeilen Code kannst Du dir sparen. Es geht tatsächlich auch in nur einer Zeile.

    Code:
        Function getIPAdress() As String
    
            Return New Net.WebClient().DownloadString("http://www.whatismyip.com/automation/n09230945.asp")
    
        End Function
    oder

    Code:
        Function getIPAdress2() As String
    
            Return New Net.WebClient().DownloadString("http://checkip.dyndns.com/").Split(":")(1).Trim().Replace("</body></html>", "")
    
    
        End Function
    Für das Betriebssystem und das Land gibt es Klassen im .NET Framework.

    Eben geschrieben, viel Glück.

Ähnliche Themen

  1. [Source] myNotes
    Von Snees im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.09.2012, 21:34
  2. [Source] QuizBot
    Von exception im Forum Showroom
    Antworten: 5
    Letzter Beitrag: 05.09.2012, 01:23
  3. [Source] eMailCrawler
    Von Snees im Forum .Net
    Antworten: 2
    Letzter Beitrag: 11.08.2012, 17:17
  4. EMS - Source
    Von Snees im Forum Sourcecode
    Antworten: 2
    Letzter Beitrag: 16.04.2012, 18:47
  5. [VB] Hilfe source
    Von Sploxfreak im Forum Sourcecode
    Antworten: 5
    Letzter Beitrag: 13.02.2012, 21:45
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.