![]() |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Die IdHTTP Instanz wir auch for dem Abruf der Seite auch immer neu erstellt.
|
AW: Mit IdHTTP wird die Seite unvollständig geladen
Zitat:
|
AW: Mit IdHTTP wird die Seite unvollständig geladen
Hmm..
OK, scheint ein Problem des Anzeige-Memos! Habe die Länge des Textes vom Result-String (direkt vom Get) und vom Memo.Lines.Text verglichen. Der Result-String ist 483164 Zeichen lang, der Text vom Memo 420676 Zeichen... Eventuell wird da etwas geliefert, was das Memo als EOL (End of Line, in diesem Fall End of String) interpretiert. |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Hmm..
Meine Vermutung ist richtig, an Position 420677 befindet sich ein #0 im Result-String! Und da endet die Übernahme in die StringList.. |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Hallo Holger,
schon mal danke für deine Mühen. Unf wie kriege ich jetzt den kompletten Inhalt aus der INDY Komponente in ein String übergeben? |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Hmm..
Um dein Beispiel zu nehmen:
Delphi-Quellcode:
function GetHTMLCode(xUrl: String): String;
begin Result := ''; try Result := IdHTTP1.Get(xUrl); except on E: EIdHTTPProtocolException do begin Result := 'E.Message: ' + E.Message + #13#10; Result := Result +'E.ErrorMessage:' +#13#10; Result := Result + E.ErrorMessage; end; end; end; ( Nur so hier im Browser geändert...) |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Alternativer Lösungsvorschlag:
Lade die Seite mal in 'nen MemoryStream und entferne ggfls. daraus die Hex 00, bevor Du das Ergebnis der Funktion als String zurückgibst. TIDHttp hat 'ne überladene Funktion, mit der man die Daten in 'nen Stream bekommt. Den Stream dann von Hex 00 bereinigen und dann per Stringliste.LoadFromStream(DeinStream) weiterverarbeiten. |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Hallo Holger,
ich kriege beim IdHTTP.GET Aufruf keine Exception, d.h. der HTML Code muss an der folgenden Position:
Code:
schon richtig ausgegeben werden.
Result := IdHTTP1.Get(xUrl);
|
AW: Mit IdHTTP wird die Seite unvollständig geladen
Habe die Funktion erst mal so umgeschrieben, bekomme aber so nur einen leeren String:
Code:
function GetHTMLCode(xUrl: String): String;
var xResult : TStringList; xResMemo : TMemoStream; begin xResult := TStringList.Create; xResMemo : TMemoStream.Create; try try IdHTTP1.Get(xUrl, xResMemo); xResult.LoadFromStream(xResMemo); except on E: EIdHTTPProtocolException do begin xResult.Add('E.Message: ' + E.Message); xResult.Add('E.ErrorMessage:'); xResult.Add(E.ErrorMessage); end; end; finally Result := xResult.Text; xResult.Free; xResMemo.Free; end; end; |
AW: Mit IdHTTP wird die Seite unvollständig geladen
Bitte eine Zeile einfügen:
Delphi-Quellcode:
IdHTTP1.Get(xUrl, xResMemo);
xResMemo.Position := 0; // <- das muss dazwischen! xResult.LoadFromStream(xResMemo); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 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