![]() |
Geparstes PHP Image mit iDHTTP downloaden
Hallo zusammen!
Bevor ich also ganz verzweifle, frage ich einfach mal hier schnell nach: Ich versuche seit Stunden mit iDHTTP ein geparstes PHP Image zu downloaden. Also ein Image nach dem Schema ( ![]() Was tun? Irgendeine idee? Gruß Jan |
Re: Geparstes PHP Image mit iDHTTP downloaden
wie du im Titel bereits geschrieben hast geht das mit TIdHttp.
Mit den Methoden "Post" und "Get" von dieser Komponente kannst du Seiten aufrufen und Daten übermitteln. |
Re: Geparstes PHP Image mit iDHTTP downloaden
Leider nein. Jedenfalls nicht auf die einfache Tour. Sprich:
Delphi-Quellcode:
Mir wird hier nur ein leeres / weißes Bild geliefert, da das Bild von PHP generiert wird. Praktisch gesehen müsste ich also warten bis die Seite geladen wurde und auch der PHP Code ausgeführt wurde. Weiß niemand einen Ansatz?
IdHTTP1.Get('http://server/bild.php');
|
Re: Geparstes PHP Image mit iDHTTP downloaden
anhand deines Codeschnippsels sieht man nicht wie du die Rückgabe der Seite verarbeitest. Um welche Seite geht es konkret? werden dort eventuell noch daten mitgeschickt?
|
Re: Geparstes PHP Image mit iDHTTP downloaden
Zitat:
Sobald du die Daten kriegst, wurde der PHP-Code bereits ausgefuehrt. Bist du dir auch sicher, dass die Indy-Komponenten nicht zufaellig geblockt sind? (Google macht dies z.B.) Greetz alcaeus |
Re: Geparstes PHP Image mit iDHTTP downloaden
Über Google habe ich auch schon gelesen und in diesem Zusammenhang habe ich gelesen, dass:
Delphi-Quellcode:
o.ä.
UserAgent:=Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
helfen soll, damit IdHttp praktisch als Browser erkannt wird. Richtig? Oder fehlen da weitere Einstellungen.? |
Re: Geparstes PHP Image mit iDHTTP downloaden
Zitat:
Delphi-Quellcode:
http://212.227.38.33/index.php
Delphi-Quellcode:
http://212.227.38.33/portal/login_bild.php
|
Re: Geparstes PHP Image mit iDHTTP downloaden
Wieso nicht? Mach doch einfach sowas:
Delphi-Quellcode:
Das mit dem PHP-Code läuft übrigens in etwa so ab (vereinfacht):
var graphic: TGraphic;
ms: TMemoryStream; begin ms:=TMemoryStream.Create; graphic:=TJPEGImage.Create; //Oder eine andere Klasse abgeleitet von TGraphic, je nach Bildformat try IdHTTP.Get('http://www.server.de/bild.php', ms); ms.position:=0; graphic.loadfromstream(ms); finally ms.free; graphic.free; end; end; 1. Indys senden HTTP-Request an den Server 2. Server schaut in die Datei, merkt, dass es eine PHP ist, parst sie und sendet das Ergebnis als HTTP-Response zurück 3. Indys empfangen den Response und die Methode Get wird beendet und liefert das Ergebnis ab. |
Re: Geparstes PHP Image mit iDHTTP downloaden
Das sieht schon mal gut aus. Bleibt nur die Frage an welcher Stelle ich jetzt mein Bild speichere? Bisher ja immer nach der Methode:
Delphi-Quellcode:
Wie wird das jetzt richtig eingebaut?
//stream:=TFileStream.Create('code.jpg', fmCreate);
//IdHTTP1.Get('http://server/login_bild.php', stream); //stream.free; |
Re: Geparstes PHP Image mit iDHTTP downloaden
Du willst nicht zufälligerweise solche Bildchen auslesen die generiert werden um einen Code einzugeben? Bei Anmeldungen auf Webseiten zum Beispiel?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz