Download mit CEF / Chromium

Alle Fragen zur Netzwerkkommunikation
Antworten
Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Download mit CEF / Chromium

Beitrag von Socke »

Hallo zusammen,

mein Ziel ist es einen OData-Service abzufragen, der eine SAML-Anmeldung im Browser benötigt. Eine Anmeldung mit "Enhanced Client or Proxy Profile" hatten nicht das gewünschte Ergbenis, da - soweit ich das ermitteln konnte - dieses Verfahren vom Server gar nicht unterstützt wird - und ich es nicht hinbekommen habe, den SAMLRequest per Hand korrekt an den Server zu senden.

Daher bin ich aktuell bei fpCEF3 gelandet, wovon ich die LCLSimple-Demo in Betrieb nehmen konnte. Bei Aufruf des OData-Services führt die Chromium-Komponente die gesamte SAML-Anmeldung durch, und zeigt mir die OData-XML-Antwort an - soweit alles in Ordnung.

Im nächsten Schritt habe ich mit https://stackoverflow.com/questions/356 ... tion-event eine Möglichkeit gefunden, den HTML-Inhalt jeder Seite, d.h. auch der vorausgehenden SAML-Anmeldung auszulesen. Dabei wird die XML-Antwort von Chrome in eine HTML-Ansicht konvertiert und hier ausgegeben - nicht schön, geht aber.

Jetzt wäre es schön, wenn ich nicht die SAML-Anfragen extrahieren sondern nur das gewünschte XML. Diese kann ich wunderbar im Event TChromium.OnResourceResponse an dem Content-Type unterscheiden (application/xml vs. text/html oder andere) - dort habe ich aber keinen Zugriff auf das XML-Dokument.

Gibt es ein Ereignis, in dem ich Zugriff auf den HTTP-Body und die Header gleichzeitig habe?

Grüße
Socke

Edit: Unter Delphi konnte/könnte man mit einem Content-Filter arbeiten: https://stackoverflow.com/questions/118 ... ed-cef-vcl, nur hat die Methode TChromium.OnResourceResponse nicht den benötigten Parameter.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Download mit CEF / Chromium

Beitrag von Socke »

Hallo zusammen,

ich habe mittlerweile erfahren, dass hierzu jetzt das Ereignis TChromium.OnGetResourceResponseFilter genutzt wird; hier kann ich einen Filter übergeben, der die Daten extrahiert.

Problem: das Ereignis wird nicht aufgerufen.

Weiß jemand weiter?

Grüße
Socke

Edit: Ich habe mir jetzt CEF4Delphi heruntergeladen und mit dem Lazarus-Konverter in ein Lazarus-Package konvertiert - dazu habe ich auch das Demo-Projekt "Simple Browser" nach Lazarus konvertiert. Nach ca. 1-2 Stunden Anpassung läuft das jetzt auch unter Lazarus - natürlich nur für Windows, aber mehr habe ich aktuell nicht vor.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten