Webclient login und anschliessen Quelltext auslesen.

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von schnibli.

    Webclient login und anschliessen Quelltext auslesen.

    Hallo,

    Ich würde mich gerne via webclient auf einer Seite einloggen und anschliessend den Quelltext auslesen, ist dies möglich?

    Mein anfang:

    VB.NET-Quellcode

    1. Dim client As New Net.WebClient
    2. client.OpenRead("https://meineseite.html")
    3. Dim loginInfo As New Specialized.NameValueCollection
    4. loginInfo.Add("pb_auth_user", "5337")
    5. loginInfo.Add("pb_auth_password", "*aaa*123")
    6. Dim html As String = client.DownloadString("https://meine_seite/index.html")
    7. MsgBox(html)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „schnibli“ ()

    schnibli schrieb:

    Hallo,

    Ich würde mich gerne via webclient auf einer Seite einloggen und anschliessend den Quelltext auslesen, ist dies möglich?

    Mein anfang:

    VB.NET-Quellcode

    1. Dim client As New Net.WebClient
    2. client.OpenRead("https://meineseite.html")
    3. Dim loginInfo As New Specialized.NameValueCollection
    4. loginInfo.Add("pb_auth_user", "5337")
    5. loginInfo.Add("pb_auth_password", "*aaa*123")
    6. Dim html As String = client.DownloadString("https://meine_seite/index.html")
    7. MsgBox(html)



    stackoverflow.com/questions/82…with-system-net-webclient

    hier solltest du eventuell fündig werden.

    Und schreib dir dein HTML lieber in eine Text datei. Bei mir kam bei manchen Abfragen einfach keine MessageBox, obwohl die Daten vorhanden waren.
    Kannst du mir ein Bisschen auf die Sprünge helfen, ich schaffe es nicht.

    Meine Felder die befüllt werden sollten:

    HTML-Quellcode

    1. <center><form name="log" method="post" onsubmit="return check_form();" action="/index.html"><table width="250" cellspacing="2" cellpadding="2" class="tabFormTable"><tr> <td>Benutzerkennung</td> <td><input type="text" name="pb_auth_user" id="pb_auth_user" value=""></tr><tr> <td>Passwort</td> <td><input maxlength="16" type="password" name="pb_auth_password" id="pb_auth_password" value=""></td></tr>
    2. <tr> <td></td><td><input type="submit" value="Benutzerkennung" class="tabFormButton"></td></tr>


    Und anschliessend soll er sich anmelden und den quelltext anzeigen oder herunterladen :s
    Ich habe es nun so Probiert:

    VB.NET-Quellcode

    1. ​Dim cookieJar As New Net.CookieContainer()
    2. Dim request As Net.HttpWebRequest
    3. Dim response As Net.HttpWebResponse
    4. Dim strURL As String = ""
    5. Try
    6. 'Get Cookies
    7. strURL = "https://my.sipcall.ch:8444/"
    8. request = CType(HttpWebRequest.Create(strURL), HttpWebRequest)
    9. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
    10. request.Method = "GET"
    11. request.CookieContainer = cookieJar
    12. response = CType(request.GetResponse(), HttpWebResponse)
    13. For Each tempCookie As Net.Cookie In response.Cookies
    14. cookieJar.Add(tempCookie)
    15. Next
    16. 'Send the post data now
    17. request = CType(HttpWebRequest.Create(strURL), HttpWebRequest)
    18. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
    19. request.Method = "POST"
    20. request.AllowAutoRedirect = True
    21. request.CookieContainer = cookieJar
    22. Dim writer As StreamWriter = New StreamWriter(request.GetRequestStream())
    23. writer.Write("pb_auth_user=loginname&pb_auth_password=passwort")
    24. writer.Close()
    25. response = CType(request.GetResponse(), HttpWebResponse)
    26. 'Get the data from the page
    27. Dim stream As StreamReader = New StreamReader(response.GetResponseStream())
    28. Dim data As String = stream.ReadToEnd()
    29. response.Close()
    30. TextBox1.Text = data
    31. If data.Contains("<title>sipcall") = True Then
    32. 'LOGGED IN SUCCESSFULLY
    33. MessageBox.Show("logged in sucessfully")
    34. Else
    35. MessageBox.Show("Not logged in")
    36. End If
    37. Catch ex As Exception
    38. MessageBox.Show(ex.tostring)
    39. End Try
    40. End Sub
    Import System.Net ist dran,

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.IO
    3. Public Class Form1
    4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    5. Dim cookieJar As New Net.CookieContainer()
    6. Dim request As Net.HttpWebRequest
    7. Dim response As Net.HttpWebResponse
    8. Dim strURL As String = ""
    9. Try
    10. 'Get Cookies
    11. strURL = "https://my.sipcall.ch:8444/"
    12. request = HttpWebRequest.Create(strURL)
    13. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
    14. request.Method = "GET"
    15. request.CookieContainer = cookieJar
    16. response = request.GetResponse()
    17. For Each tempCookie As Net.Cookie In response.Cookies
    18. cookieJar.Add(tempCookie)
    19. Next
    20. 'Send the post data now
    21. request = HttpWebRequest.Create(strURL)
    22. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
    23. request.Method = "POST"
    24. request.AllowAutoRedirect = True
    25. request.CookieContainer = cookieJar
    26. Dim writer As StreamWriter = New StreamWriter(request.GetRequestStream())
    27. writer.Write("pb_auth_user=meinusername&pb_auth_password=meinpaswort")
    28. writer.Close()
    29. response = request.GetResponse()
    30. 'Get the data from the page
    31. Dim stream As StreamReader = New StreamReader(response.GetResponseStream())
    32. Dim data As String = stream.ReadToEnd()
    33. response.Close()
    34. TextBox1.Text = data
    35. If data.Contains("<title>sipcall") = True Then
    36. 'LOGGED IN SUCCESSFULLY
    37. MessageBox.Show("logged in sucessfully")
    38. Else
    39. MessageBox.Show("Not logged in")
    40. End If
    41. Catch ex As Exception
    42. MessageBox.Show(ex.ToString)
    43. End Try
    44. End Sub
    45. End Class

    er sagt aber immernoch not logget in