Java Browser imitieren

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

MsWord

Mitglied
Hallo zusammen,

ich möchte gerne mit Java einen pseudo Browser bauen, um an bestimmte Daten zu gelangen.
Hintergrund: Ich möchte von ca 650 Druckern (TA) zwei Werte aus dem Webinterface auslesen.
Das Problem dabei ist, dass in der HTML wo die Daten zu finden sind, keinen externen Zugriff drauf hat.
Somit kommt man nur über das Webinterface an die Daten. Im Webinterface werden die Daten über ein Frame geladen.
Das hat zur folge, dass ich nicht an den Quellcode im Frame dran komme, da es irgendwie per JS oder so nachgeladen wird, jedoch stehen dort die wichtigen Daten drin.
Die zweite Hürde ist, dass ich um an meine gewünschten Daten zu kommen, noch auf einen "Link" und ein Dropdown klicken muss.

D.h. ich bräuchte ein Programm, welches wie ein Browser die Daten abruft und "rendert", zwei Benutzeraktionen simuliert und mir dann den Inhalt aus dem Frame wiedergibt. Alles danach wäre für ich kein Problem, aber ich weiß nicht wie ich an den Inhalt vom Frame komme und die Aktionen simuliere.
Hat da jemand eine Idee?

VG msword
 
Hallo,

es ist egal, ob die Daten in einem Frame geladen werden. Auch per Javascript müssen anfragen an den Server gesendet werden oder wenn du im Dropdown Feld was aussuchst. Diese Anfragen solltest du dir anschauen. Die gleichen Anfragen kannst du dann mit Java senden. Dann brauchst du nichts zu rendern und Javascript auszuführen.

Um dir diese Anfragen anzuschauen, würde ich dir eins der folgenden Programme empfehlen:
Burp Suite Scanner | PortSwigger
OWASP Zed Attack Proxy Project - OWASP

Viele Grüße
Sascha
 
Hallo Sascha,

an welche Datei die Anfrage geht weiß ich genau. Das Problem ist, rufe ich diese direkt auf, erhalte ich nur ein Error 500. Ich weiß nicht genau was dafür verantwortlich ist, dass fast alle Dateien außerhalb der index nur über die index aufzurufen ist. Selbst wenn ich die Dateien mit den Parametern aufrufe kommt sofort ein Error 500.
VG MsWord
 
Wenn du Firefox benutzt, kannst du dir auch direkt die Anfragen anschauen (einfach Strg+Shift+I drücken). Die Anfragen lassen sich aber nicht nur detailliert anschauen, man kann auch Parameter verändern und sie erneut senden...
Vermutlich läuft die Anfrage der Datei per POST?
Selbst wenn ich die Dateien mit den Parametern aufrufe kommt sofort ein Error 500.
Das würde dann erklären, warum das nicht hinhaut. Du hast wahrscheinlich POST-Parameter vergessen.

Gruß Technipion
 
Es können nicht nur POST Parameter sein, es können auch genau so gut Header Felder sein, die gesetzt werden müssen. Deshalb wirst du dir wirklich die Requests anschauen, die an den Server gesendet werden.

Viele Grüße
Sascha
 
Hab es jetzt mit Java HTMLUnit gelöst, so komme ich an alle Daten ohne eine aufwendige analyse zu starten.
 
Hi,
nur der Vollständigkeit halber noch ein kleiner Nachtrag. Die Lösung des Problems auf diesem Wege, ist nicht der optimale Weg. Es wäre sinnvoller nur die nötigen Requests an den Server zu senden und die Daten auszuwerten, statt mehr Requests zu senden und zusätzlich auch noch JavaScript auszuführen. ;)

Viele Grüße
Sascha
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Neue Beiträge

Zurück