Mit HttpWebRequest Post versenden

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von vico255.

    Mit HttpWebRequest Post versenden

    Hallo,
    Ich versende ein HttpWebRequest-Post und wollte dadurch die eingeberei auf der SuchSeite umgehen. Geht das?

    VB.NET-Quellcode

    1. Dim R As HttpWebRequest = CType(HttpWebRequest.Create("https://jobboerse.arbeitsagentur.de/"), HttpWebRequest)
    2. R.Method = "POST"
    3. R.CookieContainer = CType(Containa, CookieContainer)
    4. R.Host = "jobboerse.arbeitsagentur.de"
    5. R.Headers("useragent") = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0"
    6. R.ContentType = "application/x-www-form-urlencoded"
    7. R.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    8. Dim Post As String = "sieSuchen.wert.wert=4&suchbegriff.wert=&arbeitsort.lokation=10115&_eventId_suchen=Suchen"
    9. R.ContentLength = Post.Length
    10. Dim Writer As New StreamWriter(R.GetRequestStream(), System.Text.Encoding.ASCII)
    11. Writer.Write(Post)
    12. Writer.Close()
    13. Dim Reader As New StreamReader(R.GetResponse.GetResponseStream())
    14. Dim Response As String = Reader.ReadToEnd
    15. Reader.Close()
    16. MessageBox.Show(Response)
    17. WebBrowser1.DocumentText = Response


    Kann mir wer sagen was ich falsch mache?
    Ich komme immer auf der Startseite raus, aber nicht auf der wonach ich gerade suche...

    *Topic verschoben*
    In Arbeit...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Mach mal aus dem POST in Zeile 2 ein GET und probier es noch einmal.

    Edit: Außerdem hast du vergessen deinen Suchstring an die URL zu ketten. So machst du lediglich einen Request an eine bestimmte URL und das war es dann auch schon. Klar, dass du auf der Hauptseite rauskommst, wenn du auf die Hauptseite deinen Request schickst.

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Moin
    Wie meinst du das mit dem SuchString anketten ?

    edit :
    Ich komm einfach nicht weiter bzw weiß ich nicht was du meinst. Der Post sieht so aus:
    Bilder
    • Unbenannt.PNG

      21,32 kB, 730×412, 103 mal angesehen
    In Arbeit...

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

    Also nochmal: Wenn du eine WebAPI, wie due von jobboerse.arbeitsagentur.de, dann geht das nicht per POST (bitte korrigieren, falls ich mich irre). Sowas macht man wenn dann mit GET. Dazu brauchst du die Base URL (in dem fall jobboerse.arbeitsagentur.de) An diese hängst du dann deine Suchparameter ran.
    Um zu verstehen, wie das geht, machst du am besten einfach mal eine eigene Suche, schaust dir die URL an und checkst, ab wann die Parameter anfangen. Dann brauchst du nur noch das bis zu dem Fragezichen fest in deinem Code einbauen und alles weiter per String.Format() zusammen fügen.

    Und was deinen Code betrifft: du kannst auch statt dem selber Eingeben von "POST" die Konstante aus System.Net.WebRequuestMethods.Http.Post verwenden. Und könntest du uns mitteilen, wo du den Code her hast? Das mit dem am Zeile 11 hab ich so in der Form noch nie gesehen (kann mir auch ned vorstellen, dass das funzt, lass mich aber gerne überraschen)

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    von hier hab ich das "https://www.vb-paradise.de/index.php/Thread/42214-HttpWebRequest-Tutorial-f%C3%BCr-Anf%C3%A4nger-Fortgeschrittene/?postID=713403&highlight=post%2Brequest#post713403"

    Wenn ich dich richtig verstehe soll ich "https://jobboerse.arbeitsagentur.de/vamJB/stellenangeboteFinden.html?" + Parameter benutzen.
    Aber das geht ja nicht weil so die URL nach der Suche ausschaut : "https://jobboerse.arbeitsagentur.de/vamJB/stellenangeboteFinden.html?execution=e1s1&d_6827794_p=1"

    Was ich einfach nur möchte. Ist zu verstehen was die Seite nach dem ausfüllen der Felder an den Server schickt und das quasi simulieren. D.h. ich möchte mir den Schritt des ausfüllens sparen und die Anfrage direkt schicken.
    In Arbeit...

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

    @Radinator Ja du liegst falsch, es kommt immer darauf an was die Gegenstelle erwartet.

    @vico255 Du sendest an https://jobboerse.arbeitsagentur.de/ deine Daten, in deinem Screenshot steht aber https://jobboerse.arbeitsagentur.de/vamJB/schnellsuche.html