欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

curl 不支持 https(Protocol https not supported or disabled in libcurl) 有大用

curl默认安装完后是只支持http协议而不支持https协议的。

可以先用curl -V查看当前curl支持哪些协议:

[root@localhost /]# curl -V

curl 7.19.4 (x86_64-unknown-linux-gnu) libcurl/7.19.4 OpenSSL/1.0.2k zlib/1.2.11

Protocols: tftp ftp telnet dict http file ftps

可以看到并不支持https协议。若用curl命令访问https时就会报错:

Protocol https not supported or disabled in libcurl

若需要让curl支持https协议,需要安装openssl并在curl中使之生效:

下载并安装openssl包(若已经装了则不需要重新安装):

wget  https://www.openssl.org/source/openssl-1.0.2k.tar.gz

wget  https://www.openssl.org/source/openssl-fips-2.0.14.tar.gz

安装openssl-fips:

tar xvf openssl-fips-2.0.14.tar.gz

cd openssl-fips-2.0.14&&./config&&make&&make install

安装openssl:

tar xvf openssl-1.0.2k.tar.gz

./config shared --prefix=/usr/local/ssl&& make && make install

更新ld

echo “/usr/local/ssl/lib” >> /etc/ld.so.conf

ldconfig -v

配置openssl库

cp /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64;cp/usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64

chmod 555 /usr/lib64/libssl.so.1.0.0;chmod 555/usr/lib64/libcrypto.so.1.0.0

ln -s /usr/lib64/libcrypto.so.1.0.0/usr/lib64/libcrypto.so.10;ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl;ln -s/usr/local/ssl/include/openssl /usr/include/openssl

查看openssl版本

openssl version -a

OpenSSL 1.0.2k  26 Jan2017

built on: reproducible build, date unspecified

platform: linux-x86_64

options:  bn(64,64)rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)

重新编译curl

./configure –with-ssl=/usr/local/ssl

make

make install

查看curl是否已经支持https协议:

curl -V

curl 7.19.4 (x86_64-unknown-linux-gnu) libcurl/7.19.4 OpenSSL/1.0.2k zlib/1.2.11

Protocols: tftp ftp telnet dict http file https ftps

可以看到已经支持https协议了。

©著作权归作者所有:来自51CTO博客作者PrefectSix的原创作品,请联系作者获取转载授权,否则将追究法律责任
curl 不支持 https(Protocol https not supported or disabled in libcurl)
https://blog.51cto.com/liupengfang1015/1945846

文章知识点与官方知识档案匹配,可进一步学习相关知识
普通分类: