program testsave;
(* Program to test downloading to disk *)
{$INCLUDE curltest.inc}
uses curlobj;
var
MyCurl:tCurl;
const
TMP_FILE='testget.tmp';
HDR_FILE='headers.txt';
ERR_FILE='errors.txt';
function Progress( ptr:pointer; dltotal, dlnow, ultotal, ulnow:double ): longint; cdecl;
begin
Write('Received: ', dlnow:16:0, #32, dltotal:16:0, #13);
Result:=0;
end;
begin
if ( ParamCount = 1 ) then begin
MyCurl:=tCurl.Create(nil);
with MyCurl do begin
URL:=ParamStr(1);
OutputFile:=TMP_FILE;
HeaderFile:=HDR_FILE;
ErrorFile:=ERR_FILE;
NoProgress:=False;
ProgressFunction:=@Progress;
ProgressData:=nil;
Verbose:=True;
FollowLocation:=True;
if not Perform then WriteLn(ErrorString);
Free;
end;
end else begin { usage... }
WriteLn;
WriteLn('Download a file ...');
WriteLn(' File will be saved to disk as "', TMP_FILE, '"');
WriteLn(' Response headers are saved in "', HDR_FILE, '"');
WriteLn(' Error messages are saved in "', ERR_FILE, '"');
WriteLn;
WriteLn('Usage: testsave <remote-url>');
WriteLn;
end;
end.