Zwischenzeitlich hab ich in dem anderen Forum eine Antwort erhalten, die für meine Bedürfnisse ausreichend ist. Hier geht man zwar von der Synapse-
Unit weg und nutzt die mit Lazarus ausgelieferte "fphttpclient", doch am Ende ist ja bekanntlich das Ziel relevant und nicht der Weg.
Hier noch der entsprechende Code ...
Code:
uses
fphttpclient;
function DownloadHTTP(
URL: String; AStream: TStream; out AErrMsg: String): Boolean;
begin
AErrMsg := '';
with TFPHTTPClient.Create(nil) do
try
AllowRedirect := true;
try
Get(
URL, AStream);
Result := (ResponseStatusCode = 200);
if not Result then
AErrMsg := ResponseStatusText;
except
Result := false;
AErrMsg := 'Fehler, z.B.
URL existiert nicht.';
end;
finally
Free;
end;
end
procedure Log(AMsg: String);
begin
Form1.Memo2.Lines.Add(AMsg);
end;
procedure DownloadURL(
URL: String; FN: String);
var
stream: TMemoryStream;
errmsg: String;
t:TStringList;
i:longint;
begin
stream := TMemoryStream.Create;
try
Log('Lese Quelltext von "' +
URL + '" ein:');
if DownloadHTTP(
URL, stream, errmsg) then
begin
stream.SaveToFile(FN);
Log('--> OK (' + IntToStr(stream.Size) + ' Bytes gelesen)');
end else
Log('--> Fehler: ' + errmsg);
finally
stream.Free;
end;
end;
An der Stelle einen großen Dank an den User aus dem anderen Forum der mir bei dem Problem geholfen hat.
Und natürlich auch danke an jeden der sich die Zeit genommen hat sich mein Problem durchzulesen.
Niveau ist keine Cremè.