Delphi DLL
Delphi DLL
HTTP Download any Type of File (binary or text)
See more HTTP Examples
TheDownload method can download any file type, whether binary (e.g., .zip, .pdf) or text (.xml, .txt), without distinction. It streams the file byte-for-byte from the web server exactly as received. This same process applies to web pages: providing a URL typically viewed in a browser downloads the server's delivered HTML to a file.
Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
http: HCkHttp;
localFilePath: PWideChar;
statusCode: Integer;
begin
success := False;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := CkHttp_Create();
CkHttp_putKeepResponseBody(http,True);
// Download a .zip
localFilePath := '/temp/hamlet.zip';
success := CkHttp_Download(http,'https://www.chilkatsoft.com/hamlet.zip',localFilePath);
statusCode := CkHttp_getLastStatus(http);
if (success = False) then
begin
if (statusCode = 0) then
begin
// Unable to either send the request or get the response.
Memo1.Lines.Add(CkHttp__lastErrorText(http));
end
else
begin
// We got a response, but the status code was not in the 200s
Memo1.Lines.Add('Response status code: ' + IntToStr(statusCode));
// Examine the response body.
Memo1.Lines.Add('Response body:');
Memo1.Lines.Add(CkHttp__lastResponseBody(http));
end;
Memo1.Lines.Add('Download failed.');
end
else
begin
Memo1.Lines.Add('Download success, response status = ' + IntToStr(statusCode));
end;
// Download an XML file:
localFilePath := '/temp/hamlet.xml';
success := CkHttp_Download(http,'https://www.chilkatsoft.com/hamlet.xml',localFilePath);
// ...
// Check for errors in the same way as shown above..
// ...
Memo1.Lines.Add('OK!');
CkHttp_Dispose(http);
end;