HttpWebRequest - Form Felder füllen

  • VB.NET

    HttpWebRequest - Form Felder füllen

    Guten Tag liebe vb-paradise.de Mitglieder,

    ich hab folgendes Problem, ich möchte ein Tool schreiben das mir auf einer Internet Seite 2 Eingabefelder beliebig ausfüllt und diese dann abschickt. Auf meiner Suche habe ich aber nur Tutorials gefunden die sich mit Logins beschäftigen!

    Es handelt sich um eine POST-Routine, die folgendermaßen ausschaut:

    Spoiler anzeigen
    Request URL:EXAMPLE.de/EXAMPLE/
    Request Method:POST
    Status Code:302 Moved Temporarily

    Request Headers

    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
    Cache-Control:max-age=0
    Connection:keep-alive
    Content-Length:141
    Content-Type:application/x-www-form-urlencoded
    Cookie:__utma=125742856.972654229.1355525495.1356719121.1356725189.5; __utmb=125742856.3.10.1356725189; __utmc=125742856; __utmz=125742856.1356725189.5.5.utmcsr=smsfriend.de|utmccn=(referral)|utmcmd=referral|utmcct=/
    Host:sms-friend.de
    Origin:EXAMPLE.de
    Referer:EXAMPLE/EXAMPLE/
    User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11

    Form Data

    txtRecipient:1234567890 <--- 1tes Eingabefeld
    txtSMSText:TEXTEXAMPLE <--- 2tes Eingabefeld
    chars:121
    DoSendSMS:Send me!
    action:go
    remote:93.222.124.248

    Response Headers

    Connection:close
    Content-Type:text/html; charset=UTF-8
    Location:/danke
    Server:Apache
    Transfer-Encoding:chunked
    X-Pingback:sms-friend.de/xmlrpc.php


    Allerdings wird, wie im Code zu sehen, trotzdem ein Cookie mitgesendet. Kann ich diesen einfach übernehmen?

    Mein bisheriger Code sieht so aus:

    VB.NET-Quellcode

    1. Imports System.Net, System.IO, System.Text.RegularExpressions
    2. Public Class Form1
    3. Dim Nummer = "", SMSText = ""
    4. Private tempCookie = New CookieContainer
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    6. Dim Source As String = New WebClient().DownloadString("http://smsfriend.de/sms-senden/")
    7. Dim FormKey As String = Regex.Match(Source, "formkey"" value=""([^""]+)""").Groups(1).Value
    8. Dim Iv As String = Regex.Match(Source, "iv"" value=""([^""]+)""").Groups(1).Value
    9. Dim R As HttpWebRequest = HttpWebRequest.Create("http://EXAMPLE.de/EXAMPLE/")
    10. R.Method = "POST"
    11. R.CookieContainer = tempCookie
    12. R.Host = "EXAMPLE.de"
    13. R.Headers("useragent") = "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8"
    14. R.ContentType = "application/x-www-form-urlencoded"
    15. Dim Post As String = "username=" & TextBox1.Text & "password=" & TextBox2.Text
    16. FormKey & "&iv=" & Iv '
    17. R.ContentLength = Post.Length
    18. Dim Writer As New StreamWriter(R.GetRequestStream(), System.Text.Encoding.ASCII)
    19. Writer.Write(Post)
    20. Writer.Close()
    21. Dim Reader As New StreamReader(R.GetResponse.GetResponseStream())
    22. Dim Response As String = Reader.ReadToEnd
    23. Reader.Close()
    24. If Response.Contains("SMS versendet") Then
    25. MessageBox.Show("Erfolgreich versendet!")
    26. Else
    27. MessageBox.Show("Fehler!")
    28. End If
    29. End Sub
    30. End Class


    Immoment meldet Visual Basic 2012 aber noch ein Fehler in dieser Zeile, die ich selber nicht verstehe:

    VB.NET-Quellcode

    1. FormKey & "&iv=" & Iv '
    2. R.ContentLength = Post.Length
    3. Dim Writer As New StreamWriter(R.GetRequestStream(), System.Text.Encoding.ASCII)
    4. Writer.Write(Post)
    5. Writer.Close()


    Freue mich über jede Antwort!

    ~Mfg

    Pinkywesen


    Edit by ErfinderDesRades: sieht mir doch sehr nach einem Spam-Bot aus --> closed

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