Einzelnen Beitrag anzeigen

MisterSonic

Registriert seit: 4. Jan 2004
Ort: Sachsen-Anhalt
40 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Startseite einer Website mit Synapse herunterladen

  Alt 31. Jul 2017, 07:05
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è.
  Mit Zitat antworten Zitat