You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 11与Indy HTTPS报错:无法加载SSL库

Delphi 11 Alexandria中TIdHTTP加载SSL库失败问题

我曾使用RAD Studio Delphi Enterprise 10.2(Tokyo)及其预装的Indy组件,通过继承TIdHTTP自定义类并调用TIdHTTP.Get()连接HTTPS服务器,代码如下:

type
  TCustomIdHTTP = class(TIdHTTP)
  public
    constructor Create(AOwner: TComponent);
  private
    procedure OnStatusInfoEx(ASender: TObject; const AsslSocket: PSSL; const AWhere, Aret: TIdC_INT; const AType, AMsg: String);
  end;

{ TCustomIdHTTP }

constructor TCustomIdHTTP.Create(AOwner: TComponent);
begin
  IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  with IOHandler as TIdSSLIOHandlerSocketOpenSSL do begin    
    OnStatusInfoEx := Self.OnStatusInfoEx;
    SSLOptions.Method := sslvSSLv23;
    SSLOptions.SSLVersions := [sslvTLSv1_2, sslvTLSv1_1, sslvTLSv1];
  end;
  inherited Create(AOwner);
end;

procedure TCustomIdHTTP.OnStatusInfoEx(ASender: TObject; const AsslSocket: PSSL; const AWhere, Aret: TIdC_INT;
  const AType, AMsg: String);
begin
  SSL_set_tlsext_host_name(AsslSocket, Request.Host);
end;

var IdHTTP1: TCustomIdHTTP;

该实现运行完全正常。如今在Windows 11系统的新笔记本上安装Delphi Enterprise 11(Alexandria)后,调用TIdHTTP.Get()时抛出异常:

EIdOSSLCouldNotLoadSSLLibrary (Could not load SSL Library)

我已查阅大量资料但未找到解决方案,尝试复制最新版SSL动态链接库libeay32.dll和ssleay32.dll也未成功。请问Delphi 11中有哪些变化导致此问题?

内容的提问来源于stack exchange,提问作者user16413998

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:00:03