pycurl gnutls_handshake() failed

    最近写了个脚本,多进程利用pycurl给一个PAAS平台发送数据,刚开始的一段时间很正常,后期时不时会蹦出一些错误消息,在屏幕上一刷而过,google一看好多人都遇过这样的问题,不过都是在使用git时遇到的,不过和导致我遇到问题的原因是一样的。pycurl使用的ssl库是GnuTLS,GnuTLS有时候会造成封包长度异常。程序运行环境是ubuntu12.04。


解决方法很简单:

   1 不使用http,而且效率还高,不走ssl加密过程,可惜上头不同意。

    2 自己编译使用openssl版本的pycurl。

1 查看你的pycurl使用的那个ssl库


2 创建一个编译目录pycurl_make,安装编译环境,前提是先把你的老版本pycurl及GnuTLS库卸载掉。

apt-get install build-essential fakeroot dpkg-dev


3 进入该目录进行编译

#
cd pycurl_make
#
apt-get source python-pycurl
#
apt-get build-dep python-pycurl
#
apt-get install libcurl4-openssl-dev
#
dpkg-source -x pycurl_7.19.0-4ubuntu3.dsc
#
cd pycurl-7.19.0/
#
sed -i 's/libcurl4-gnutls-dev/libcurl4-openssl-dev/g' debian/control 
#
dpkg-buildpackage -rfakeroot -b
#
dpkg -i ../python-pycurl_7.19.0-4ubuntu3_amd64.deb
4 查看新编译的pycurl使用的ssl库




转载于:https://my.oschina.net/guol/blog/205158

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值