首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyCURL: TLS握手错误

PyCURL: TLS握手错误
EN

Stack Overflow用户
提问于 2009-12-22 05:25:04
回答 2查看 3.6K关注 0票数 1

我正在使用PyCURL测试我们提供的重定向服务--用户点击http://xyz.com/asdf/,然后被重定向到https://a.comhttps://b.comhttps://c.com

我尝试使用PyCURL请求http://xyz.com,并输出(但不是HTTP请求)字符串"https://{a|b|c}.com",但只要目标URL是HTTPS而不是HTTP,PyCURL.request()方法就会抛出以下异常:

(35, 'gnutls_handshake() failed: A TLS fatal alert has been received.')

谷歌搜索"pycurl tls error“并没有找到很多结果,除了一个提示Ubuntu的PyCURL使用GnuTLS而不是OpenSSL的结果。这就是导致我问题的原因吗?如果是,如何配置PyCURL以使用OpenSSL?

我的操作系统是Ubuntu9.10,Python2.6,这是我的PyCURL版本信息

>>> pycurl.version_info()

(3, '7.19.5', 463621, 'x86_64-pc-linux-gnu', 1597, 'GnuTLS/2.8.3', 0, '1.2.3.3', ('tftp', 'ftp', 'telnet', 'dict', 'ldap', 'ldaps', 'http', 'file', 'https', 'ftps'), None, 0, '1.15')

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-30 20:23:08

我刚刚解决了同样的问题。我不是100%确定哪里出了问题。但是我通过apt-get install python-pycurl安装了pycurl,我想它默认使用的是gnutls,但在我看来,在我的系统上应该是openssl。

我通过执行以下操作解决了这个问题:

export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss] (从openssl、gnutls或nss中选择一项,不带括号)

pip install pycurl --upgrade

如果您的pycurl版本已经是最新版本,请通过执行以下命令pip uninstall pycurl并运行上述命令来删除它。

来源:http://pycurl.sourceforge.net/doc/install.html

票数 2
EN

Stack Overflow用户

发布于 2009-12-23 05:26:42

pycurl使用libcurl,libcurl可以构建为使用几个TLS库中的一个。GnuTLS和OpenSSL就是其中的两个。因此,您可以重新构建libcurl以使用您喜欢的任何一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1942719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档