微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何使用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 举报,一经查实,本站将立刻删除。