此问题类似于另一个one, concerning pyCURL
使用CURLpp https://stackoverflow.com/questions/1942719/pycurl-tls-handshake-error
好的,所以根据previous question的答案,我应该使用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吗?
答案 0 :(得分: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扩展无效,无法协商密码,等)。