delphi indy Idhttp error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version

在使用 indy 中的 idhttp 组件访问 https 网站时,出现如下错误:

error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version

error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

我今天发现的此错误原因是 OpenSSL中 libeay32.dll , ssleay32.dll 这两个dll引起的

以前,我在阿里旺旺目录中去获取这两个dll

如:C:\Program Files (x86)\AliWangWang\9.12.10C

今天我发现在delphi的 subversion 目录中,也带有这两个文件.一测试,果然好用.

C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\subversion

附上测试文件,请自行替换两组dll进行测试

测试示例下载 delphi xe10.3编写