Curl 配置 https時出現“Protocol https not supported or disabled in libcurl”的解決辦法;Curl不支持HTTPS
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
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協議嘍;
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!