Webseitenabfrage ohne Webbrowser-Element ansteuern und einen Click-Event ausführen

  • VB.NET

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

    Webseitenabfrage ohne Webbrowser-Element ansteuern und einen Click-Event ausführen

    Hallo,

    ich hab schon wieder Frage wo Google nicht weiterhelfen konnte.

    Und zwar jeder kennt das Problem z.B. auf YouTube, wo man bei manchen Video nach dem Alter gefragt wird und man mit einem Klick etwas bestätigen muss.
    Per Webbrowser alles null Problemo. Aber wie gesagt ich will das ohne Webbrowser realisieren. Hat verschiedene Gründe, erst einmal weniger Traffic und zweitens will ich ja auf Video Seiten zugreifen, wo man ja dann im Hintergrund das Video hören würde.

    Deshalb mach ichs per httprequest.

    Funktioniert auch alles wunderbar, bloß halt bei diesen speziellen Videos ( das mit YouTube war jetzt nur ein Beispiel, bitte keine Erklärung, wie man dies bei YouTube an sich umgehen kann, sondern auf meine generelle Frage bezogen, danke) ist dies nicht der Fall. Ich bleibe immer bei diesen Auswahldialog hängen, ist ja auch klar.

    Aber wie kann ich jetzt per httprequest ein Response senden und ihn somit auf z.B.: ".GetElementById("Button").InvokeMember("click")" klicken lassen.

    Gibt's da eine einfache Möglichkeit ohne aufwendige dll's ohne ähnliches?

    Grüße
    Du überprüfst die Seite ob sie diese Abfrage stellt, baust dir dann einen entsprechenden Http-Header zusammen und schickst diesen ab.
    Anders macht es der Webbrowser ja auch nicht :).

    Falls du dir nicht sicher bist was in dem Header genau stehen muss, besorg dir für Firefox das Plugin Tamper Data.
    ne doofe Frage, wie schicke ich einen Header ab?

    hab hier noch was gefunden:
    msdn.microsoft.com/en-us/libra…tpwebrequest.headers.aspx

    Aber komm ich gar nicht wirklich zurecht, und zum Thema Header auslesen, da hab ich shcon ein besseres Addons namens Live HTTP headers aber bringt mir ja nichts wenn ich nicht weiß wie ichs überhaupt abschicken kann

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

    JA dazu müsst ich einen gültigen HTTP Header senden

    aber:

    VB.NET-Quellcode

    1. Dim PostRequest As String
    2. PostRequest = "POST /user_choice=Enter HTTP/1.1" & _
    3. "Host: host.com"


    hab den richtigen header abgekürzt, nciht wundern

    VB.NET-Quellcode

    1. httpURL_add = New System.Uri(PostRequest)
    2. request_add = HttpWebRequest.Create(httpURL_add)
    3. request_add.Method = WebRequestMethods.Http.Get
    4. response_add = request_add.GetResponse()
    5. reader_add = New StreamReader(response_add.GetResponseStream())
    6. start_DL_url = reader_add.ReadToEnd()
    7. response_add.Close()


    bei "httpURL_add = New System.Uri(PostRequest)" tritt bereits der Fehler auf. Weil es ja keine gültige URI ist.

    Wie lautet also der korrekte Header send Befehl?

    edit:

    auch msdn.microsoft.com/de-de/library/aa287673(VS.71).aspx bringt mir im Endeffekt nichts..


    Edit2:

    VB.NET-Quellcode

    1. httpURL_add = New System.Uri("http://hier die Ziel URI")
    2. request_add = HttpWebRequest.Create(httpURL_add)
    3. request_add.Credentials = CredentialCache.DefaultCredentials
    4. request_add.Method = "POST"
    5. request_add.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)"
    6. request_add.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    7. request_add.KeepAlive = "300"
    8. request_add.Referer = "http://der Ziel Referer"
    9. request_add.CookieContainer = New CookieContainer()
    10. request_add.ContentType = "application/x-www-form-urlencoded" '& Boundary
    11. request_add.ContentLength = "Content-Length: 17"
    12. request_add.Method = WebRequestMethods.Http.Get
    13. response_add = request_add.GetResponse()
    14. MsgBox(request_add.Headers.ToString)
    15. reader_add = New StreamReader(response_add.GetResponseStream())
    16. start_DL_url = reader_add.ReadToEnd()
    17. response_add.Close()


    aber trotzdem es klappt nicht =/

    nähere Infos: pronix.linuxdelta.de/Perl_cgi/cgi/cgi_kurs_kapitel4.shtml

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „kwoxer“ ()