Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Push-Text aus WebBrowser auslesen

  Alt 5. Feb 2014, 17:21
Ich möchte auf einer Börsenseite den sich alle paar Sekunden aktualisierenden Kurs einer Aktie auslesen.

So wie es aussieht ändert sich der HTML-Code dieses Browserfensters aber irgendwie nicht.
Dann hilft IdHTTP GET auf das HTML Dokument auch nicht - denn das liest auch immer den gleichen HTML Code aus, so wie der Browser. Im Browser wird dann aber vermutlich JavaScript eingesetzt, um den Kurs nachzuladen und dynamisch im DOM einzubauen.

Wenn das der Fall ist, muss man die vom JavaScript gesendeten Requests nachbauen. Wenn es sich um normale HTTP Requests handelt (z.B. Ajax), und nicht z.B. WebSockets, dann simuliert man dem Server einen normalen Client (Browser). Tools wie Firebug (für Firefox) helfen dabei, den richtigen HTTP Request zu erstellen. Falls die Webseite ein Login erwartet, können dabei verwendete Cookies über Indy ebenfalls unterstütz werden.

Erster Schritt aber ist das Analysieren des HTML Dokuments und des enthaltenen JavaScript, um die relevanten Requests zu finden.

p.s. ein auf Indy basierendes Beispiel, wie Push über "Long Polling" und JavaScript mit Indy serverseitig (!) realisiert werden kann, ist unter How can I update HTML pages dynamically with Indy HTTP server using jQuery and “Long Polling”?. Der Delphi Sourcecode enthält auch ein HTML Dokument mit dem eingebetten JavaScript.
Michael Justin

Geändert von mjustin ( 5. Feb 2014 um 17:24 Uhr)
  Mit Zitat antworten Zitat