如何使用TIdHTTP Indy组件下载文件?

问题描述

当我尝试使用TIdHTTP组件下载文件时收到此错误

First chance exception at $76D8AAF2. Exception class EIdOSSLUnderlyingCryptoError with message
'Error connecting with SSL.
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version'.
Process Project1.exe (3684)

我的Embarcadero Rad Studio 10.1 Berlin随附了 Indy版本10.6.2.5341

我正在使用 IdSSLIOHandlerSocketopenSSL 并启用以下选项:

[sslvtlsv1,sslvtlsv1_1,sslvtlsv1_2],但仍然是相同的错误,我在应用程序exe目录(libeay32.dll和ssleay32.dll)版本1.0.2u中也有ssl dll,可从这篇文章获取

How can we connect with a website? Getting SSL error 1409442E

代码用于下载文件

const UnicodeString URL = "https://www.rarlab.com/rar/winrar-x64-60b1.exe";
    TMemoryStream *ms = new TMemoryStream();

    try
    {
        IdHTTP1->Get(URL,ms);
        ms->SavetoFile("E://winrar.exe");
    }
    __finally
    {
        delete ms;
    }

更新:我已升级到Indy版本10.6.2.0,但仍然存在相同的SSL问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)