Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
859 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Download aus INet - fertiger Code gesucht

  Alt 4. Jan 2020, 21:44
Die einfachste Variante, wenn man nur eine Datei herunterlädt (läuft bei mir in sowieso in einem Thread, daher geht auch die Fortschrittsanzeige und der direkte Aufruf von ohne get an TNetHTTPClient):

Delphi-Quellcode:
var httpClient: TNetHTTPClient;
    ms:TStream;
begin
  httpClient:=TNetHTTPClient.create(nil);
  try
    httpClient.OnAuthEvent:=NetHTTPClientAuthEvent;
    httpClient.OnReceiveData:=NetHTTPClientReceiveData;
    httpClient.ConnectionTimeout:=60000;
    httpClient.ProxySettings := TProxySettings.Create(xxx,yyy);
    ms:=TFileStream.Create(localFileName,fmCreate or fmOpenReadWrite);
    try
      httpClient.Get('https://'+remoteFileName,ms);
    finally
      ms.Free();
    end;
  finally
    httpClient.free();
  end;

procedure TForm.NetHTTPClientAuthEvent(const Sender: TObject; AnAuthTarget: TAuthTargetType; const ARealm, AURL: string; var AUserName, APassword: string; var AbortAuth: Boolean; var Persistence: TAuthPersistenceType);
begin
  AUserName:=xxx;
  APassword:=yyy;
end;

procedure TForm.NetHTTPClientReceiveData(const Sender: TObject; AContentLength, AReadCount: Int64; var Abort: Boolean);
begin
  //todo: Fortschrittsanzeige
end;
Ob Du ein OnAuthEvent oder ProxySettings benötigst hängt an der jeweiligen Konfiguration, wahrscheinlich eher nein und man kommt natürlich auch ohne OnReceiveData aus).
  Mit Zitat antworten Zitat