IndyをSSLとUbuntu11にインストールされたLazarusのIdHTTPコンポーネントで動作させようとしています。httpsを削除してhttpのみで動作するため、コードがhttp投稿に適していることがわかります。だから私はそれがLinuxライブラリを欠いているSSLとindyのコンポーネントだと思います。ウィンドウの場合、私は2つのDLLを含めることに慣れlibeay32.dll
ていましたが、ssleay32.dll
正常に機能しました。
しかし、Linuxではそれは別の話のようです。私が持っている唯一のコードは郵便番号です:
IdHttp1.Post('url', StringList, ReturnStreamList);
私が言ったように、httpsがなくてもうまく機能しますが、SSLを試しても何も起こりません。キャッチする必要があるのでエラーはありませんがtry
、except
キャッチに関しては何もしていません。
私はOpenSSLをインストールしていますが、次の方法でもインストールしていますapt
。
libcrypto++8
libcrypto++-dev
libssl-dev
libssl0.9.8
/usr/lib
私は両方のファイルlibcrypto.so
に行き、libssl.so
そこにいます。
IdHTTPポストオペレーションでSSLをLazarusおよびIndyと連携させるために欠けているアイデアはありますか?
編集:わかりました、以下のアドバイスに従った後、私は例外を追加しました:
on E: EIdHTTPProtocolException do
showmessage(htp1.ResponseText);
これは私にエラーを与えますError creating SSL context
。
EDIT2:straceを実行し、SSLライブラリを開く出力領域をここに貼り付けました:http: //pastebin.com/fL6tTSGg