2

这个问题与另一个类似,关于 pyCURL

使用 CURLpp 向安全 URL 发送发布请求时出现以下错误https://stackoverflow.com/questions/1942719/pycurl-tls-handshake-error

好的,所以根据上一个问题的答案我应该将 libcurl 与 openSSL 一起使用。如果我运行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。因此,如果我尝试使用命令行直接通过 curl 发送相同的请求,它工作正常,并且我在命令输出中看到了我期望的结果。

所以事实证明,当我切换到 CURLpp 时,它使用 gnuTLS,而不是 openSSL。为了指定我想要使用 CURLpp 的 openSSL,我必须配置一些东西吗?

4

1 回答 1

1

cURLpp 只是 libcURL 的一个包装器,它并不规定 libcURL 使用哪个 SSL 实现。
我不确定你是如何when I switch to CURLpp, it uses gnuTLS, instead of openSSL得出结论的,但我怀疑你安装了多个 libcurl.so,一个 curl 使用,另一个你的应用程序正在使用(通过 cURLpp)。

作为旁注,TLS fatal alert ... received(在链接的问题中提到)可能是服务器端配置错误的结果(无效的服务器名称 TLS 扩展、未能协商密码等)。

于 2010-12-07T21:10:06.790 回答