Hi All
Ich versuche mich schon seit geraumer Zeit an folgender Aufgabe.
Ich habe eine Website auf welcher man sich mit UserID und PW einloggen muss. Darauf sind diverse Daten enthalten, welche ich parsen möchte.
Wie schaffe ich es nun mittels HTTPMOD (zumindest glaube ich dies sei das richtige Modul) einzuloggen?
Und danach dann die Daten auszulesen?
Aber einloggen ist schon mal die erste Hürde >:(
Merci für Tipps
René
Auf der Seite einloggen und sich den dann folgenden link anschauen. Da wird die ID und das pw drin stehen. Dann hast du die Definition für httpmod
Es gibt eine Login-Seite, danach erst erscheint die effektive Seite mit dem relevanten Dateninhalt. Also leider keine Basic Auth wo du UID uns PW mitgeben kannst in der URL
Ein "klassisches" Backend setzt nach dem Anmelden ein Cookie, was bei nachfolgenden Anfragen geprueft wird.
Wenn(!) das der Fall ist, muss man in FHEM nach Senden der Logindaten aus dem HTTP-Header der Antwort dieses Cookie rausfischen, und bei nachfolgenden Anfragen senden.
Weiss nicht, ob in HTTPMOD dieses Verfahren implementiert ist.
Wenn nicht, dann kann man in einer eigener Perl-Routine in 99_myUtils.pm zwei Http_NonblockingGet Abfragen absetzen, das Cookie aus $hash->{httpheader} des ersten Aufrufs rausfischen, und es in $hash->{header} des zweiten Aufrufs mitgeben.
Hallo rcaspar
Ich bin kein Experte mit httpmod aber ich habe das vor längerem schon einmal gemacht.
Sehr geholfen hat mir dieser thread.
https://forum.fhem.de/index.php/topic,68452.msg599313.html#msg599313 (https://forum.fhem.de/index.php/topic,68452.msg599313.html#msg599313)
vom Prinzip her musst du das login auf der abzufragenden website mit httpmod nachstellen
um die notwendigen daten dafür zu bekommen habe ich mit burp suit mein log in auf der abzufragenden web site mitgeschnitten und diese daten dann im httpmod
eingetragen
dafür sind unter anderen die attr
enableCookies
sid1Data
Ist alles schon lange her und als es geklapt hat brauchte ich es ja nicht mehr funktioniert bis heute.
viele Grüsse
Stephan
Hi Stephan
Habe mir mal die Burp Suite gezogen und seh nun, was da beim Login passiert. Ich sehe UID und PW welche gesendet werden und ein Token, welcher anschliessend benutzt wird.
Allerdings bin ich so ein Programmier-DAU, dass ich das nicht so einfach zusammenbringe. Kann mir da jemand unter die Arme greifen?
Merci
René
Bin da auch nicht fitt, aber für alle eventuell Helfenden könntest Du verraten, um welche Webside es geht ....
Es geht um folgende WebSite: https://meine-energie.elektra.ch
Denke aber, dass diese Information alleine nicht reicht. Müsste wissen, wer, welche INfo benötigen würde.
René
Hallo Rene,
Was immer geht, ist ein bischen Code mit dem Perl Modul Firefox::Marionette.
Aber etwas programmieren solltest du dazu schon können.
Mit dem Modul wird eine HTML-Seite "fernbedient" im Firefox geöffnet, so wie du das manuell auch machen würdest.
Und dann muss man nur noch die Daten extrahieren.
Damit kann man wirklich ALLE Webseiten auslesen.
Siehe:
https://forum.fhem.de/index.php/topic,128247.msg1233478.html#msg1233478 (https://forum.fhem.de/index.php/topic,128247.msg1233478.html#msg1233478)
LG,
Stephan.
Hi Stephan's
Merci für den Input - bin aktuell etwas ausgelastet und daher nicht viel dran, aber ich habe mal mit Burp und Marionette gesehen, dass unglaublich viele Requests laufen und Daten hin und her schicken.
Ich werde mich mal in einer etwas ruhigeren Minute hinsetzen müssen und versuchen herauszufinden, welche Gesetzmässigkeiten herrschen.
Mal schauen, ob ich weiterkomme - merci jedenfalls schon mal für euren Input
ich schwimme weiter...
René