Indy 10 - IdHTTP.获取"无法加载SSL库"

Teu*_*eun 7 delphi ssl openssl indy

在我的应用程序中,我正在使用IdHTTP.Get.代码的一部分:

var
  IdHTTP: TIdHTTP;
begin
  IdHTTP := TIdHTTP.Create(nil);
  Output := IdHTTP.Get(url);
  ...
  IdHTTP.Free;
Run Code Online (Sandbox Code Playgroud)

使用IdHTTP.Version给我的版本:10.6.2.5263

我从这里下载了OpenSSL ,libeay32.dll和ssleay32.dll都在我的应用程序的同一个文件夹中.

这个问题发生在我使用Windows 10的新笔记本电脑后.我希望有人能告诉我如何解决这个问题!

Ger*_*lí- 2

如果需要访问https url,则必须添加一些代码,才能完成组件的创建TidHTTP

尝试使用这样的东西:

// create components
HTTPs := Tidhttp.Create(nil);
IdSSL := TIdSSLIOHandlerSocket.Create(nil);
// try..finally for free
try
  // ini
  HTTPs.ReadTimeout := 30000;
  HTTPs.IOHandler := IdSSL;
  IdSSL.SSLOptions.Method := sslvTLSv1;
  IdSSL.SSLOptions.Method := sslvTLSv1;
  IdSSL.SSLOptions.Mode := sslmUnassigned;
  ...
Run Code Online (Sandbox Code Playgroud)

您需要添加IdSSLOpenSSL到uses子句。

  • 请参阅http://www.indyproject.org/sockets/blogs/ChangeLog/20141222.en.aspx,简单用例不需要IOHandler创建代码 (2认同)