Indy 10 - IdHTTP。获取“无法加载SSL库”

时间:2016-02-09 11:37:24

标签: delphi ssl openssl indy

在我的应用程序中,我正在使用IdHTTP.Get。代码的一部分:

JavaSparkContext sc = new JavaSparkContext("local or your network IP","Application name");
JavaRDD<String> lines = sc.textFile("Path Of Your File", No. of partitions).count();

使用IdHTTP.Version给我的版本:10.6.2.5263

我从Updated bin下载了OpenSSL,libeay32.dll和ssleay32.dll都在我的应用程序的同一个文件夹中。

由于我使用的是装有Windows 10的新笔记本电脑,因此出现此问题。 我希望有人能告诉我如何解决这个问题!

2 个答案:

答案 0 :(得分:2)

如果您需要访问https网址,则必须添加一些代码,以完成TidHTTP组件的创建。

尝试使用以下内容:

// create components
HTTPs := Tidhttp.Create(nil);
IdSSL := TIdSSLIOHandlerSocket.Create(nil);
// try..finally for free
try
  // ini
  HTTPs.ReadTimeout := 30000;
  HTTPs.IOHandler := IdSSL;
  IdSSL.SSLOptions.Method := sslvTLSv1;
  IdSSL.SSLOptions.Method := sslvTLSv1;
  IdSSL.SSLOptions.Mode := sslmUnassigned;
  ...

您需要将IdSSLOpenSSL添加到使用子句。

答案 1 :(得分:0)

在 64 位系统中为您的应用程序提供 32 位目标平台也会导致此问题。我不知道如何正确解决此问题,但一个简单的方法是为您的操作系统所在的系统编译 exe。