首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi: idHttp+SSL

Delphi: idHttp+SSL
EN

Stack Overflow用户
提问于 2011-07-14 01:36:55
回答 3查看 39.3K关注 0票数 12

请解释一下如何使用SSL (https://). )从服务器下载文件我还没有在互联网上找到合适的答案。

每个人都说TIdSSLIOHandlerSocket,但我只有TIdSSLIOHandlerSocketOpenSSL。如果我使用TIdSSLIOHandlerSocketOpenSSL,我会有一个错误‘无法加载SSL库’。有些人说它需要一个图书馆,但大多数人甚至没有提到它。我需要在这里使用http://www.indyproject.org/sockets/SSL.EN.aspx库吗?

我在程序的文件夹里有这些DLL。根据:http://edn.embarcadero.com/article/31279“在运行时,Indy会尝试加载libeay32.dll和ssleay32.dll。”我不知道Indy尝试从哪里加载DDLs,我有一个错误:‘无法加载->库。’

代码语言:javascript
复制
procedure TForm1.FormCreate(Sender: TObject);
    var  UpdateMemoryStream:tmemorystream;
    begin
    try
    UpdateMemoryStream:=TMemoryStream.Create;
                try
                idhttp2.Get('https://example.com/list.rar',UpdateMemoryStream); //I have: Exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'
                except
                    on E : Exception do 
                    begin showmessage('Error: '+E.Message); 
                    end;
                end;
    UpdateMemoryStream.SaveToFile('d:\1.rar');
    finally
    UpdateMemoryStream.Free;
    end;
    end;

为什么我会有这个错误?我有Delphi 2010。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-14 02:12:19

要使用Indy的OpenSSL类,您需要ssleay32.dll和libeay32.dll。从您试图执行的Indy代码中的异常源代码来看,这可能是显而易见的。

这些库是从问题中提到的Indy页面链接到的。如果法律允许您这样做,您可以将它们与您的应用程序一起分发。将它们放在DLL所在的任何位置(通常是您的应用程序目录)。

OpenSSL是特定于OpenSSL的抽象TIdSSLIOHandlerSocket类的后代。如果您使用的是其他SSL库而不是OpenSSL,那么您将使用一个不同的子类。

票数 8
EN

Stack Overflow用户

发布于 2011-07-14 05:15:08

http://indy.fulgan.com/SSL/下载openssl-1.0.0d-i386-win32-rev2.zip,而不是openssl-1.0.0d-x64_86-win64-rev2.zip

也可以在这里阅读:https://forums.embarcadero.com/thread.jspa?threadID=15569

票数 6
EN

Stack Overflow用户

发布于 2017-11-03 15:00:12

获得正确的DLL是很重要的,因为有些DLL是通过链接到M$ Studio编译的,因此在Delphi中不起作用。Try https://indy.fulgan.com/SSL/最新版本在页面底部。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6683127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档