libcurl在centos6.4 64位操作系统上不支持https的解决方案

rpm -e –nodeps 软件名 
例如: 
使用yum install nginx 安装了nginx, 
这是如果直接使用yum remove nginx 的话,会把依赖的一些包也删掉, 
所以要使用rpm -e --nodeps nginx这个命令,就只删除nginx这个包,不会删除依赖包, 
本人的nginx版本: 
CentOS release 6.9 (Final)

问题:

在程序内使用libcurl库访问https的网址时,始终返回 CURLE_UNSUPPORTED_PROTOCOL

经查询发现是libcurl库文件编译时没有选择支持ssl,默认的libcurl库是不支持ssl的

解决办法:

1. 下载libcurl库和openssl库,我用的是 curl-7.37.0.tar.gz 和 openssl-1.0.1g.tar.gz

2. 编译openssl, 编译第一步配置时需要打开共享库,否则curl的配置无法通过, 命令为 ./config enable-shared

3. 检查/usr/local/ssl/lib下是否有.a的库和.so的库,如果缺少.so的库,curl的配置检查无法通过

4. 编译curl,  配置为./configure --with-ssl, 然后make && make insall就OK

其他问题:

我还下载了openssl-1.1.0g.tar.gz的版本,这个默认编译安装路径不是/usr/local/ssl,要注意,我多次编译.a和.so库文件都没有拷贝到/usr/local/ssl下

上一篇:【Linux学习】Linux用户管理1—用户查询指令、用户切换


下一篇:Java数据结构和算法(十四)——堆