web-dev-qa-db-ja.com

Indy 10-IdHTTP.Getraising「SSLライブラリを読み込めませんでした」

私のアプリケーションでは、IdHTTP.Getを使用しています。コードの一部:

var
  IdHTTP: TIdHTTP;
begin
  IdHTTP := TIdHTTP.Create(nil);
  Output := IdHTTP.Get(url);
  ...
  IdHTTP.Free;

IdHTTP.Versionを使用すると、バージョンが10.6.2.5263になります。

ここ からOpenSSLをダウンロードしました。libeay32.dllとssleay32.dllの両方がアプリケーションの同じフォルダーにあります。

この問題は、Windows 10で新しいラップトップを使用しているために発生しました。誰かがこの問題を解決する方法を教えてくれることを願っています!

7
Teun

Https URLにアクセスする必要がある場合は、コードを追加して、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をuses句に追加する必要があります。