Indyコンポーネントのおさらい。DelphiでHTTPS経由でファイルをダウンロードする。
HTTPS経由だとIOHandlerをSSL対応のものを指定しないといけない。
idhttp_test.dpr
program idhttp_test; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes, IdHTTP, IdSSLOpenSSL; var URL: String; HTTP: TIdHTTP; SSL: TIdSSLIOHandlerSocketOpenSSL; FileStream: TFileStream; begin try if ParamCount < 1 then Exit; URL := ParamStr(1); HTTP := TIdHTTP.Create; SSL := TIdSSLIOHandlerSocketOpenSSL.Create; try HTTP.IOHandler := SSL; FileStream := TFileStream.Create('output' + ExtractFileExt(URL), fmCreate); try HTTP.Get(URL, FileStream); finally FileStream.Free; end; finally HTTP.Free; SSL.Free; end; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.