2010-12-07 18 views
2

この質問は別のone, concerning pyCURLCURLpp:TLSハンドシェイクエラー

に似ている私は、安全なURLにPOSTリクエストを送信するときに[OK]をCURLpp https://stackoverflow.com/questions/1942719/pycurl-tls-handshake-error

を使用して、次のエラーを持っているので、答えに応じてprevious question、openSSLでlibcurlを使うべきです。私はcurl -vを実行する場合、私はこれを取得:

curl 7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15 Protocols: tftp ftp telnet dict ldap ldaps http file https ftps Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

だから私はOpenSSLを使用して、そしてGNUTLSが表示されないされなければなりません。ですから、同じコマンドをコマンドラインで直接カールして送信しようとすると、うまくいきます。コマンド出力に、私が期待している結果が表示されます。

CURLppに切り替えると、openSSLではなくgnuTLSが使用されます。 CURLppでopenSSLを指定するには、設定する必要がありますか?

答えて

1

cURLppはlibcURL上の単なるラッパーですが、libcURLがどのSSL実装を使用するかを指示しません。
どのようにあなたはwhen I switch to CURLpp, it uses gnuTLS, instead of openSSLの結論に至ったのかはっきりしていませんが、複数のlibcurl.soがインストールされていて、カールが使用していて、あなたのアプリが(cURLppを介して)使用しています。サイドノートとして

、(リンクの質問で述べた)TLS fatal alert ... receivedはおそらくサーバー側(無効なサーバー名TLS拡張、暗号を交渉の失敗など)の設定ミスの結果でした。

+0

実際、 'libcurl-gnutls.so libcurl-gnutls.so.4.1.1'がインストールされています。私はCURLppにそれらを使わないようにする方法を見つける必要があります。 – Arthur

+0

私はlibcurl4-openssl-devをインストールして、curlppを再インストールしましたが、もうエラーはありません。ありがとう – Arthur

関連する問題