这几天打算搞点事:)
然后弄了台服务器,打算用四哥的工具搞搞
修改完四哥的软件(因为这个软件默认是在windows上用所以要改改才能在linux上用)
然后总出错如下:

我就毙了狗了,难道不兼容?
看了看代码,并没有什么不兼容啊。
然后用python 一句一句执行
发现执行到c.setopt(pycurl.OPT_CERTINFO, 1) 就出错
File "", line 1, in

因为不经常写python,总感觉这个错误是C才有的。。
难道是pycurl版本有问题?
我就去查了查。。发现网上有一些出这个问题的!

发现如何解决这个问题。。。好像发现了曙光啊!这种问题怎么能难得住我这种1024工程师!!!
仔细看了看。。。发现不对啊。。这尼玛驴唇不对马嘴啊。。
然后又继续去搜索

 

libcurl link-time ssl backend (nss) is different from compile-time ssl backend (openssl)以及pycurl.setopt(pycurl.OPT_CERTINFO, 1) error 48

然后又找到了几个文章,而且是很专业stackoverflow和segmentfault啊!! 这肯定能解决了!我心里是这样想的。。。。。。。
结果用


这个方法。。发现还尼玛不行啊

此处掠过无数次如下动作。。。

发现还是不行啊。。。(此时博主内心是崩溃的。。。)
后来想了想既然每次用openssl都不成功用nss都成功是不是curl的问题?
看了一眼curl -V 发现并没有openssl
果断从curl官网下载了一份重新编译

wget https://curl.haxx.se/download/curl-7.50.3.tar.xz  
xz -d curl-7.50.3.tar.xz
tar xvf curl-7.50.3.tar
cd curl-7.50.3
./configure --prefix=/usr --without-nss --with-ssl
make && make install
ldconfig
echo "/usr/local/lib" >> /etc/ld.so.conf && ldconfig

在查看curl -V

 

curl 7.50.3 (x86_64-pc-linux-gnu) libcurl/7.50.3 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.28 libpsl/0.7.0 (+libicu/50.1.2) libssh2/1.4.3 nghttp2/1.7.1
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz HTTP2 UnixSockets PSL

大写的OpenSSL/1.0.1e!!!喜出望外啊
于是重新编译pycurl

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
pip install --compile pycurl

尝试之前的程序
python 1.py 发现成功执行了!!!
后来搜了搜发现需要把nss转成openssl才行。果然和我想的一样~不枉我开了那么多chrome标签(没卵用。。)
最后说一下,四哥的软件非常好用没有之一!

Comments
Write a Comment