CURLpp:TLS握手错误
这个问题类似于另一个one, concerning pyCURLCURLpp:TLS握手错误
我有以下错误,当我发送POST请求到一个安全的网址,使用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,它使用GNUTLS而不是OpenSSL的。 有什么我必须配置,为了指定我想用CURLpp的openSSL?
cURLpp只是libcURL的一个包装,它并不指定libcURL使用哪种SSL实现。
我不完全确定你是如何得出when I switch to CURLpp, it uses gnuTLS, instead of openSSL
的结论,但我怀疑你已经安装了多个libcurl.so,一个curl使用了另一个,你的应用正在使用另一个(通过cURLpp)。
作为一个侧面说明,TLS fatal alert ... received
(在链接的问题中提及)可能是在服务器端(无效的服务器名TLS扩展,协商失败密码等)配置错误的结果。
确实,我已经安装了`libcurl-gnutls.so libcurl-gnutls.so.4.1.1`。我需要了解如何让CURLpp不使用它们。 – Arthur 2010-12-07 21:33:03