我正在尝试使用REST。因此,我正在使用TIdHTTP
组件。但这是行不通的。它说“无法加载SSL库”。我已经从该论坛上阅读了有关此错误的信息,但仍然无法正常工作。
我想念什么?我对SSL的了解为零。
我正在使用Delphi 2007,Indy 10.1.5和Windows 32位。
我将libeay32.dll
和ssleay32.dll
放在EXE目录中(我在https://indy.fulgan.com/SSL/的openssl-1.0.2t-i386-win32.rar
文件中找到了这些DLL文件)。
type
TForm1 = class(TForm)
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
...
procedure TForm1.btn_ReqCheckServerClick(Sender: TObject);
var
s: string;
lHTTP: TIdHTTP;
const
URL_CHECK_SERVER = 'http://example'; // some URL site to ping
begin
lHTTP := TIdHTTP.Create(nil);
try
lHTTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvTLSv1;
lHTTP.ProtocolVersion:=pv1_1;
lHTTP.Request.ContentType := 'application/json';
lHTTP.HandleRedirects := True;
s := lHTTP.Get(URL_CHECK_SERVER);
ShowMessage(s);
finally
lHTTP.Free;
end;
end;