AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdHttp (Indy) und iframes

IdHttp (Indy) und iframes

Ein Thema von DelTurbo · begonnen am 15. Mär 2013 · letzter Beitrag vom 15. Mär 2013
Antwort Antwort
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.171 Beiträge
 
Delphi 2007 Architect
 
#1

IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 12:59
Hi,
ich möchte eine webseite auslesen in der ein iframe enthalten ist. Leider sind die Infos die ich brauche in dem iframe gespeichert. Zu diesem iframe gibt es auch noch eine besonderheit. Der steht nicht sofort bereit. Sondern erst wenn alle daten zusammen gesucht wurden. Ich schätze mal das dauer 1-2 Sekunden. Erst dann erscheint der iframe.


Nun zu meiner frage: Wie kann ich Indy dazu bringen auch den iframe zu lesen? Oder gibt eine andere Komponente (ausser TWebBrowser) die das kann?

Danke im voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
mjustin

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

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 13:45
Nun zu meiner frage: Wie kann ich Indy dazu bringen auch den iframe zu lesen?
WIe sieht so ein iframe im HTML denn aus? Wenn es eine URL enthält, kann Indy ja benutzt werden um darauf z.B. ein HTTP GET zu senden.
Michael Justin
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.171 Beiträge
 
Delphi 2007 Architect
 
#3

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 13:55
Da die Daten im moment der Abfrage noch nicht bereit stehen, steht dort leider src=about:blank

Hier die ganze zeile:
Code:
<iframe id="frUsr" src="about:blank" frameborder="0" width="276" height="152"></iframe>
Da kann ich mich leider nicht "durchhangeln". Ich kenne zwar die "Zielurl" (mit Whireshark gesnifft) aber wenn ich die aufrufe bekomme ich einen fehler. Ich denke das liegt daran das die SessionID verloren geht. Mache ich den trick mit dem IE, dann klappt es.

Das habe ich leider auchnicht gefunden, wie ich Indy dazu bekomme diese ID´s zu behalten und bei der nächsten abfrage wieder übergibt.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#4

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 14:13
Simpelste Möglichkeit: beim Verwalter der Seite nachfragen.

Es könnte natürlich auch sein, dass die Seite das so macht, weil der das nicht will. In dem Fall solltest Du erstmal klären, ob Du das darfst...
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#5

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 14:15
Da die Daten im moment der Abfrage noch nicht bereit stehen, steht dort leider src=about:blank

Hier die ganze zeile:
Code:
<iframe id="frUsr" src="about:blank" frameborder="0" width="276" height="152"></iframe>
Da kann ich mich leider nicht "durchhangeln". Ich kenne zwar die "Zielurl" (mit Whireshark gesnifft) aber wenn ich die aufrufe bekomme ich einen fehler. Ich denke das liegt daran das die SessionID verloren geht. Mache ich den trick mit dem IE, dann klappt es.

Das habe ich leider auchnicht gefunden, wie ich Indy dazu bekomme diese ID´s zu behalten und bei der nächsten abfrage wieder übergibt.

Vermutung: die URL wird erst nach dem Laden des Dokuments per JavaScript zugewiesen. Ein JavaScript Element muss dann im HTML sein, aber Indy ist da leider nicht einsetzbar.

Die SessionID wird meist als Cookie oder als Hidden Form Field übermittelt, beides wird von Indy im Prinzip unterstützt. Aber ohne URL kommt Indy natürlich nicht weiter.
Michael Justin
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.171 Beiträge
 
Delphi 2007 Architect
 
#6

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 14:28
Die SessionID wird meist als Cookie oder als Hidden Form Field übermittelt, beides wird von Indy im Prinzip unterstützt. Aber ohne URL kommt Indy natürlich nicht weiter.
Siehe oben. Die URL habe ich. Ich habe auch schon ein paar sekunden gewartet bis ich die auslesen. Aber es kommt eine Fehlerseite, die vermuten lässt das die ID fehlt.

Muss man da im idHttp nochwas einstellen?

Gruß

PS.: Mit den CleverInternetSuite klappt das. Also die "zweite" url aufrufen. Da bekomme ich dann die daten. Ich hätte aber lieber Indy genommen.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#7

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 15:06
Die SessionID wird meist als Cookie oder als Hidden Form Field übermittelt, beides wird von Indy im Prinzip unterstützt. Aber ohne URL kommt Indy natürlich nicht weiter.
Siehe oben. Die URL habe ich. Ich habe auch schon ein paar sekunden gewartet bis ich die auslesen. Aber es kommt eine Fehlerseite, die vermuten lässt das die ID fehlt.

Muss man da im idHttp nochwas einstellen?
Da muss ich raten: es sind SessionIDs in "Cookies"? Um Cookies mitzusenden, muss der IdHTTP Komponente eine Indy Cookie Manager komponente hinzugefügt werden, Beispielcode dazu ist hier im Forum sicher zu finden.

Viel Erfolg,
Michael Justin
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.171 Beiträge
 
Delphi 2007 Architect
 
#8

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 16:03
Ich habe grade nach gesehen. Du hast recht, die Cookies gehen verloren. Ich schau mal wie man das mit Indy machen muss. Einfach den TIdCookieManager draufziehen und verbinden geht schon mal nicht....

Danke und Gruß
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.171 Beiträge
 
Delphi 2007 Architect
 
#9

AW: IdHttp (Indy) und iframes

  Alt 15. Mär 2013, 17:10
Um das hier abzuschliessen. Es lag am Indy. Ich hatte Version 10.5.8 drauf. Nun habe ich 10.5.9 drauf, nix an meinem Code geändert, und es geht.

Nochmals Thx....
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz