
1 基礎知識
1.1 libcurl的介紹
libcurl是一個免費且易於使用的客戶端URL傳輸庫
1.2 libcurl的功能
– 支持DICT,FILE,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP和LDAPS協議
– 支持POP3,POP3S,RTMP,RTSP,SCP, SFTP,SMTP,SMTPS,Telnet和TFTP協議
– 支持SSL證書
– 支持HTTP POST,HTTP PUT,FTP上傳
– 基於HTTP表單的上傳
– 支持代理
– 支持cookie
– 支持用戶+密碼驗證(基本,摘要,NTLM,協商,Kerberos)
– 支持文件傳輸恢復
– 支持http代理隧道等等
1.3 libcurl的兼容性
– libcurl具有高度可移植性,可在多種平台上構建和工作
– libcurl支持Solaris,NetBSD,FreeBSD,OpenBSD,Darwin,HPUX,IRIX,AIX,Tru64,Linux系統
– libcurl支持UnixWare,HURD,Windows,Amiga,OS / 2,BeOs,Mac OS X,Ultrix,QNX系統
– libcurl支持OpenVMS,RISC OS,Novell NetWare,DOS等系統
2 最佳實踐
2.1 安裝前的准備
2.1.1 安裝編譯工具
yum -y install gcc gcc-c++ make expat-devel
2.1.2 下載軟件包
cd ~ wget https://curl.haxx.se/download/curl-7.65.3.tar.gz
注意:其他版本請從以下目錄下載,
https://curl.haxx.se/download/
2.1.3 解壓軟件包
cd ~ tar -xf curl-7.65.3.tar.gz
2.2 編譯安裝
2.2.1 預編譯軟件庫
cd ~/curl-7.65.3 ./configure --prefix=/usr/local/curl-7.65.3 \ --with-nghttp2 \ --with-ssl
參數“–with-nghttp2”需要安裝以下包解決依賴關系,
yum install -y libnghttp2-devel
如果遇到以下錯誤提示,
configure: error: --with-ssl was given but OpenSSL could not be detected
需要安裝如下包解決依賴關系,
yum install openssl-devel
2.2.2 編譯並安裝軟件庫
make make install
2.2.3 配置程序環境變量
echo 'export CURL_HOME=/usr/local/curl-7.65.3' > /etc/profile.d/curl.sh echo 'export PATH=${CURL_HOME}/bin:$PATH' >> /etc/profile.d/curl.sh source /etc/profile
配置完成后,請使用如下命令測試,
curl -V
可見如下顯示,
curl 7.65.3 (x86_64-pc-linux-gnu) libcurl/7.65.3 OpenSSL/1.0.2k-fips zlib/1.2.7 Release-Date: 2019-07-19 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets
2.2.4 加載動態庫
echo /usr/local/curl-7.65.3/lib/ > /etc/ld.so.conf.d/curl-7.65.3.conf
配置完成后,請使用以下命令檢查並加載,
ldconfig -v
2.2.5 確認軟件可用
/usr/local/curl-7.65.3/bin/curl-config --version
顯示如下,
libcurl 7.55.1
參閱文檔
==================
編譯安裝的文檔
————–
https://curl.haxx.se/docs/install.html
官方首頁
————-
https://curl.haxx.se/libcurl/
軟件下載
————–
https://curl.haxx.se/download/
https://curl.haxx.se/download.html