IdHttpコンポーネントのIOHanderプロパティにTIdSSLIOHandlerSocketOpenSSLコンポーネントのオブジェクトを設定してHTTPSにアクセスするプログラムを作成しています。
libeay32.dll とssleay32.dllが必要との事で、コンパイルしてできたexeファイルがあるフォルダにコピーして置きましたが、「Could not load SSL library」のメッセージが表示されます。
なぜ、エラーが発生するのでしょうか?
delphi5でindy9を使っています。
最終的にはHTTPSのサーバーからファイルをダウンロードしたい。
ダウンロード先のHTTPSサーバーにはURLにIDとpasswordをパラメタで指定する方法しかない様で、できればその方法も教えていただければありがたいです。
よろしくお願いします。
私も同じエラーが出たことがあります。
私の場合は、libeay32.dllとssleay32.dllのバージョンが、Indyのバージョンとあっていなかったみたいです。
他のバージョンのibeay32.dllとssleay32.dllを試してみたらいいんじゃないかと思います。
解決できなかったら、ごめんなさい。
ありがとうございました。
他のバージョンで問題なく動きました。
それにしても、どのバージョンを選択して良いのか、全然わからないですね。
ここに、訪ねてみて本当によかったです。
解決後に申し訳ないですが、後人のために、どのバージョンを使って
うまくいったか記載してはいただけないでしょうか?
私の場合を書いておきます。
はじめ、Delphi2007でコードを書いたときは、エラーは起きませんでした。
その後、コードをそのままDelphiXE2にコピーしたところ、エラー(Could not load SSL library)がでました。
さらにその後、コードはそのままで、libeay32.dllとssleay32.dllをダウンロードして、XE2で作成したEXEファイルと同じフォルダにこの2つのファイルをコピーしたところ、エラーは出なくなりました。
DelphiXE2の開発環境が今ないので、わかる部分だけ書きます。
***************************
Delphi:2007
Indy:10.1.5
ssleay32.dll:2002/08/13
libeay32.dll:2002/08/13
Delphi:XE2
ssleay32.dll:2011/10/11
libeay32.dll:2011/10/11
ツイート | ![]() |