Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

31.10.2013, 16:25

Benutzer simulieren

Hallo Leute,

meine Frage ist eigentlich ganz einfach, ich habe eine URL die ich als Besucher besuche, da gibt es verschiedene Felder wo ich Daten eintippen kann, nachdem ich dies getan habe und auf "Suchen" klicke, werde ich auf eine andere Seite mit den Suchergebnissen weitergeleitet.

Problem ist jetzt die Adresszeile der Suchergebnis Seite hat eine Art Token der sich (öfter mal) ändert.

Was ich brauche ist, dass ich diese Eingaben simuliere und an den Server schicke und der mir die Suchergebnis Seite zurückgibt und ich dann mit den Ergebnissen arbeiten kann.

Nach welchen Stichwörter sollte ich Googlen ? Hab da gar keinen Ansatz, irgend ne Art requests oder so =/

MfG

PS: Es handelt sich dabei um ein Uni-Projekt, man kann nach verschiedenen Veranstaltungen suchen etc. Leider gibt es für diese Seite keine Schnittstelle, weil sie von einer privaten Firma betrieben wird.

Nochmal kurz erklärt:

1. Programm besucht Uniseite
2. Programm füllt ein Feld aus und klickt auf Suchen
3. Programm erhält die Suchergebnisse

Und das soll am besten alles im "Hintergrund" passieren, sprich es soll sich kein Browser öffnen oder so.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

31.10.2013, 16:42

Im Hintergrund heißt es gibt schon ein Programm? Wenn ja, in welcher Sprache wurde das geschrieben?
Generell wirst Du wohl aber die HTTP-Requests nachbauen, die Responses auswerten und so z.B. an das Token für die nächsten Requests gelangen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

31.10.2013, 16:53

Hallo !

Mit im Hintergrund meine ich das kein Browser geöffnet werden soll und die Maus bewegt und Tastenanschläge simuliert werden. Also "nicht sichtbare" Aktionen. HTTP-Requests schaue ich mir gleich mal an und gebe dann bescheid !

MfG

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

31.10.2013, 16:58

Mir ist schon klar, was "im Hintergrund" bedeutet, mich hätte aber interessiert, was denn überhaupt "der Vordergrund" bei Dir ist. Also ob es da schon eine Anwendung oder etwas gibt oder ob Du das Verhalten komplett aus dem Nichts als eigenständige Aktion erst erschaffen willst. Je nachdem sind natürlich die Herangehensweisen verschieden. Entweder HTTP-Requests in das bestehende Programm integrieren oder ein GUI-Automatisierungstool verwenden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

31.10.2013, 17:04

Probier es auch mal mit PhantomJS oder Awesomium. Damit mache ich solche Sachen. Diese Libraries "simulieren" einen kompletten Browser, inklusive JavaScript etc., aber alles kann im Hintergrund ablaufen und ohne grafische Ausgabe. Siehe auch mein Blog: http://www.david-scherfgen.de/wenn-wget-versagt-phantomjs/

6

31.10.2013, 17:13

Achso, das Tool ist eine einfache Java Anwendung die auf meinem PC läuft.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

31.10.2013, 17:15

Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

8

31.10.2013, 17:17

Danke für die superschnellen Antworten, ich werde mich da jetzt mal reinarbeiten =)

Edit: Hat alles super funktioniert ! Danke.

MfG

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »iWumbo« (31.10.2013, 19:34)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

31.10.2013, 21:52

Wie hast du es denn jetzt gemacht?

10

01.11.2013, 16:26

Mit dem Tipp von BlueCobold =)

Quellcode

1
2
3
4
5
6
7
8
9
10
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

        //add reuqest header
        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", USER_AGENT);
        con.setRequestProperty("Accept-Language", "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4");
        con.setRequestProperty("Accept-Encoding", "gzip,deflate,sdch");
        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

        String urlParameters =  parameters;


und dann einfach die Antwort auslesen, simpel und funktioniert super !

Werbeanzeige