Webseite auslesen (nach Login)

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von S01L0KE.

    Webseite auslesen (nach Login)

    Hallo,
    Ich möchte gern etwas aus einer Webseite auslesen. Man muss sich davor aber einloggen um es auslesen zu können. Wie kann man das machen? Ich hab mir das Regex tut hier im Forum von Dodo durchgelesen. Hier ein Beispiel zu meiner Frage:

    VB.NET-Quellcode

    1. Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://server.de/test.php")
    2. Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
    3. Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
    4. Dim httpContent As String = reader.ReadToEnd
    5. txtSourcecode.Text = httpContent
    6. Dim ipRegEx As New Regex("\<div id=""myip""\>(?<string>(.*))\<\/div\>")Dim myIP As String = ipRegEx.Match(httpContent).Groups("string").ToString()
    7. lblIP.Text = "Deine IP: " & myIP


    VB.NET-Quellcode

    1. Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://server.de/test.php")


    Damit wird die Seite neu aufgerufen und ist nicht mit dem Webbrowser1 verbunden oder? Wie kann ich den Webbrowser1, der auf der Seite eingeloggt ist mit dem Code von mir verbinden, sodass nichts neues aufgerufen wird?

    Ich hab es mal versucht weiß aber nicht ob es stimmt:

    VB.NET-Quellcode

    1. Dim httpContent As String = Webbrowser1.DocumentText
    2. txtSourcecode.Text = httpContent
    3. ipRegEx As New Regex("\<div id=""myip""\>(?<string>(.*))\<\/div\>")Dim myIP As String = ipRegEx.Match(httpContent).Groups("string").ToString()
    4. lblIP.Text = "Deine IP: " & myIP


    Jetzt weiß ich aber nicht ob die Seite nun mit dem Webbrowser verbunden ist...? Kann ich jetzt nach dem einloggen im Webbrowser1 auf der Seite, dass gesuchte auslesen?

    MFG: S01L0KE
    reagiert dein code auf das event "webbrowser.navigated" ? weil den doctext kannst ja erst nur auslesen wenn seite geladen is.
    wenns um regex geht, dann wäre es besser einen größeren teil aus dem quelltext mitzu posten :) ausserdem würde ich dein (.*) in (.*?) ändern ;) ansonsten kann es sein, dass er das nächste, und zwar das "</div" einfach verschluckt und erst beim letzten "</div" halt macht
    ob der code funktioniert, kannst ganz einfach testen indem du den teil des quelltextes ersma hart in eine variable in deinem code schreibst.

    und nachdem der webbrowser navigiert hat, kannst auf webbrowser.documenttext zugreifen.

    versteh auch nich ganz was du mit "verbinden" meinst. ein server identifiziert dich mit einem cookie. wenn du also irgendwie diesen cookie (phpsessid) vom webbrowser rausholen kannst und in anderen sachen mitsenden kannst, dann wird dich der server wieder identifizieren können.
    Ich kann es momentan nicht testen... kannst du/jemand nicht einfach überprüfen ob es funktioniert? Und ich hab mit dem verbinden gemeint, dass Regex den Quellcode vom Webbrowser 1 benutzt und diesen dann ausließt (hab mich vlt. bisschen komisch ausgedrückt).