# Auf Internetseiten via Java einloggen



## Mr.Burns (26. Jan 2013)

Hey, 
ich möchte eine Internetseite mittels Java öffnen, einen Benutzernamen und Passwort eingeben, auf Login klicken und dann den Code der Seite auslesen.
Das auslesen einer Seite ohne vorheriges Login klappt soweit. Allerdings hänge ich bei dem Login.. 
Ich habe bereits gelesen, dass man mithilfe HtmlUnit auf Webseiten klicken kann und sowas.. Ehrlich gesagt weiß ich aber nicht wie ich da ran gehen soll :bahnhof: 
Ich hoffe ihr könnt mir da irgendwie auf die Sprünge helfen 

lg Mr.Burns


----------



## hemeroc (26. Jan 2013)

Ich würde wohl am ehesten mit selenium arbeiten.

LG Hemeroc


----------



## Mr.Burns (26. Jan 2013)

Das klingt auf jedenfall schon sehr passend  Hast du selber Erfahrungen damit?


----------



## Mr.Burns (27. Jan 2013)

leider finde ich keinen Bearbeiten-Button sonst hätte ich versucht den Doppel-Post zu vermeiden..
Wie kann ich denn die java Datei die ich von Selenium erhalte in mein Programm einbinden? 

lg Mr.Burns


----------



## Marcinek (27. Jan 2013)

http://www.java-forum.org/spiele-multimedia-programmierung/138983-browsergame-bot.html#post923623

Du musst wissen, was ein class Path ist und wie man diesen setzen kann.


----------



## tröööt (27. Jan 2013)

ach ja ... als ob genau dieses thema mit genau diesem titel nicht schon mehr als oft genug gestellt wurde ... was kommt denn bei google raus wenn du "Auf Internetseiten via Java einloggen" eingibst und auf suchen klickst ? mit sicherheit ne ganze menge threads aus diesem forum hier ... denn die frage kommt regelmäßig im netzwerkforum ... alles was du also brauchst steht dort mindestens x-mal ...

warum mein post auf ein thema mit nem völlig anderen hintergrund gelinkt wurde weis ich nicht ... das das hier mit dem dort eigentlich recht wenig zu tun hat ...
lediglich das dort gelinkte thema http://www.java-forum.org/netzwerkprogrammierung/139323-exakten-browser-call-simulieren.html wäre für dich vielleicht von interesse ...

login's sind meist mit redirects aufgebaut ... also du sendest dein login an den server und wenn es korrekt ist kommt meist eine HTTP302 und leitet dich um ... bei falschen login meist eine HTTP200 die die gleiche seite noch mal ausliefert ...
natürlich musst du auch wissen wie du mit cookies richtig umgehst damit du die session auch nutzen kannst die dir der server zuweist ... ansonsten hast du n problem das HTTP stateless ist ...

klingt allgemein als ob du wenig erfahrung auf dem gebiet hast ... ich würde dir empfehlen dich erstmal grundlegend mit HTTP , Sessions und Cookies auseinander zu setzen bevor du dich daran machst das ganze mit java umsetzen zu wollen ..


----------



## Mr.Burns (28. Jan 2013)

Also ich habe jetzt geschafft das Java die selenium datei ausführt aber dabei öffnet sich ja immer firefox.. kann man das umgehen?

@tröööt: ja irgendwie konnte ich mit den anderen Threads nicht viel anfangen.. tut mir leid wenn ich das zum x-male gefragt habe  ich dachte ja auch eigentlich gedacht dass es mit HtmlUnit geht und dazu habe ich nichts brauchbares gefunden.. 
und du hast recht, ich habe wirklich wenig erfahrung auf dem gebiet, aber irgendwie muss man ja auch erfahrungen sammeln. Ich werde mich dann erstmal auch mit HTTP , Sessions und Cookies beschäftigen..

Vielleicht kann mir doch schon jemand hier weiterhelfen 

lg nelsonn


----------



## tröööt (28. Jan 2013)

klar kann ich dir hier kompletten code posten ... aber 1) ist das hier einfach mal das falsche sub-forum für die frage 2) mache ich keine arbeit für andere ohne entlohnung 3) hättest du davon keinen lern-effekt 4) bringt es dir nichts wenn du den code den ich dir bastle nicht ausführen kannst ...


und ich meinte das mit wenig erfahrung nicht nur auf den net-sektor bezogen sondern allgemein auf java ... dir fehlen ja wirklich teilweise extrem grundlagen wie z.b. was externe libs sind und wie man diese einbindet ... und wenn du DAS nicht mal drauf hast bringt es auch nichts wenn wir dich mit noch so vielen frameworks zuschütten und du diese nicht ans laufen bekommst ...

ist zwar richtig : learning-by-doing ... aber ohne grundlagen sollte man sich halt nicht über das hier wundern : ohne-basics-auf-die-fresse-fallen ...

du solltest dich also erstmal intensiv mit java und dessen grundlagen befassen bevor du dich in das abenteuer der net-programmierung stürzt ...


----------



## Mr.Burns (28. Jan 2013)

Ich habe nicht von dir verlangt das du mir ein komplettes Programm posten, will ich auch gar nicht!
Externe libs kann ich einbinden  
Ich habe dich auch nicht gefragt wo meine Schwächen sind sondern wie ich mein Problem am besten löse.. Trotzdem danke  ich werde mich wohl nochmal mit ein paar Grundlagen beschäftigen 

lg nelsonn


----------



## ProgX (30. Jan 2013)

Ohne das sich Firefox öffnet kannst du mit dem Webserver von Selenium machen.
Wird oft beim automatisierten Testen von Webseiten eingesetzt.


----------



## tröööt (31. Jan 2013)

ich frag mich nur warum sich ein externer browser überhaupt öffnen sollte wenn man mit einem framework arbeitet was nur java-intern abläuft ...

ich würde sagen hier gibts ein paar fehler im code ... versuchs mal mit HTMLUnit


----------



## DrZoidberg (31. Jan 2013)

Man kann das natürlich auch ganz ohne eine library machen. Hier mal ein kleiner Ausschnitt aus einem Scala Program, das ich verwendet hatte um ein Browser Spiel selbständig zu spielen. Hab jetzt keine Lust das nach Java zu übersetzen, aber der Punkt ist, man kann das auch ohne HTMLUnit oder Selenium relativ einfach bewerkstelligen.
https://gist.github.com/4680988


----------

