SSL (https://) を使用してサーバーからファイルをダウンロードする方法を教えてください。インターネットで適切な答えを見つけられませんでした。
誰もが TIdSSLIOHandlerSocket について言いますが、私は TIdSSLIOHandlerSocketOpenSSL しか持っていません。TIdSSLIOHandlerSocketOpenSSL を使用すると、「SSL ライブラリをロードできませんでした」というエラーが発生します。ライブラリが必要だと言う人もいますが、ほとんどの人はそれについて言及していません。ここhttp://www.indyproject.org/sockets/SSL.EN.aspxのライブラリを使用する必要がありますか?
これらのDLLはプログラムのフォルダーにあります。によると: http://edn.embarcadero.com/article/31279「実行時に、Indy は libeay32.dll と ssleay32.dll を読み込もうとします。」Indy がどこから DDL をロードしようとしたかわかりません -> エラーが発生しました:「SSL ライブラリをロードできませんでした。」
procedure TForm1.FormCreate(Sender: TObject);
var UpdateMemoryStream:tmemorystream;
begin
try
UpdateMemoryStream:=TMemoryStream.Create;
try
idhttp2.Get('https://example.com/list.rar',UpdateMemoryStream); //I have: Exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'
except
on E : Exception do
begin showmessage('Error: '+E.Message);
end;
end;
UpdateMemoryStream.SaveToFile('d:\1.rar');
finally
UpdateMemoryStream.Free;
end;
end;
なぜこのエラーが発生するのですか? 私はDelphi 2010を持っています。