相关资料:
https://www.jb51.cc/delphi/103143.html 使用Delphi XE将通过WinHTTP下载的文件保存到磁盘
https://www.cnblogs.com/huangjacky/archive/2009/12/30/1635830.html Delphi - 我的代码之简单封装WinHttpRequest
实例:下面这代码是我下载ZIP包时用到的,亲证可用。
{$APPTYPE CONSOLE} uses Variants,ActiveX,Classes,AxCtrls,WinHttp_TLB,SysUtils; function Download(const url,filename: String): Boolean; var http: IWinHttpRequest; wUrl: WideString; fs:TFileStream; HttpStream :IStream; sz,wr:Int64; FStatus : Integer; OleStream: TOleStream; begin try wUrl := url; http := CoWinHttpRequest.Create; http.open('GET',False); http.send(EmptyParam); FStatus := http.status; // 200=OK! result := FStatus=200; if result then begin HttpStream:=IUnknown(http.ResponseStream) as IStream; OleStream:= TOleStream.Create(HttpStream); try fs:= TFileStream.Create(FileName,fmCreate); try OleStream.Position:= 0; fs.CopyFrom(OleStream,OleStream.Size); finally fs.Free; end; finally OleStream.Free; end; end; except result := false; // do not raise exceptions. end; end; begin try Download('http://foo.html','C:Fooanyfile.foo'); except on E: Exception do Writeln(E.ClassName,': ',E.Message); end; end.