Indyを使用してHTTPSのホームページにアクセスする方法

解決


ペケポン  2012-02-12 02:13:03  No: 41592

IdHttpコンポーネントのIOHanderプロパティにTIdSSLIOHandlerSocketOpenSSLコンポーネントのオブジェクトを設定してHTTPSにアクセスするプログラムを作成しています。

libeay32.dll とssleay32.dllが必要との事で、コンパイルしてできたexeファイルがあるフォルダにコピーして置きましたが、「Could not load SSL library」のメッセージが表示されます。

なぜ、エラーが発生するのでしょうか?
delphi5でindy9を使っています。

最終的にはHTTPSのサーバーからファイルをダウンロードしたい。
ダウンロード先のHTTPSサーバーにはURLにIDとpasswordをパラメタで指定する方法しかない様で、できればその方法も教えていただければありがたいです。

よろしくお願いします。


かんとく  2012-02-13 09:40:17  No: 41593

私も同じエラーが出たことがあります。

私の場合は、libeay32.dllとssleay32.dllのバージョンが、Indyのバージョンとあっていなかったみたいです。

他のバージョンのibeay32.dllとssleay32.dllを試してみたらいいんじゃないかと思います。

解決できなかったら、ごめんなさい。


ペケポン  2012-02-23 17:54:43  No: 41594

ありがとうございました。
他のバージョンで問題なく動きました。
それにしても、どのバージョンを選択して良いのか、全然わからないですね。
ここに、訪ねてみて本当によかったです。


とおりがかり  2012-02-23 20:17:21  No: 41595

解決後に申し訳ないですが、後人のために、どのバージョンを使って
うまくいったか記載してはいただけないでしょうか?


かんとく  2012-02-29 09:18:47  No: 41596

私の場合を書いておきます。

はじめ、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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加