简介
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。
配置流程
本文选用华为鲲鹏 云服务 ECS KC1实例做测试,KC1实例的处理器为兼容ARMv8指令集的鲲鹏920。
1.选择操作环境
本文选用华为鲲鹏云服务ECS KC1实例做测试
2.获取源代码
https://github.com/curl/curl/releases提供cURL各版本的源码压缩包,可以直接下载。
3.编译源代码
本文以“curl-7_54_0”版本为例,下载源码,并编译安装。
1)下载“curl-7_54_0”的源码。
cd/usr/local/src
wget https://codeload.github.com/curl/curl/tar.gz/curl-7_54_0
2)解压源码。
tar -zxvf curl-7_54_0
3)编译并安装cURL。
cd curl-curl-7_54_0
./buildconf
./configure
make
make install
4)编译安装完成后,查看cURL的版本号是否与源码版本号一致。
curl --version
回显信息如下,则表示“curl-7.54.0”编译并安装成功。
curl 7.54.0-DEV (aarch64-unknown-linux-gnu) libcurl/7.54.0-DEV OpenSSL/1.0.2k zlib/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets HTTPS-proxy
4.测试已完成编译的软件
使用cURL命令验证cURL是否安装成功且可以正常使用。
curl https://www.huaweicloud.com/
能正常返回华为云页面的html信息,则表示cURL安装成功且能正常使用。
已知问题
问题描述:
4 测试已完成编译的软件中,无法正常显示华为云页面的html信息,如下:
curl: (48) An unknown option was passed in to libcurl
问题原因:
cURL的版本号与libcurl的版本号不一致。
curl --version
回显信息如下,cURL的版本号为“7.54.0”,libcurl的版本号为“7.29.0”,不一致。
curl 7.54.0-DEV (aarch64-unknown-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
解决方法:
1)设置动态链接库被系统共享。
ldconfig
curl --version
回显信息如下,cURL的版本号为“7.54.0”,libcurl的版本号也为“7.54.0”,一致。
curl 7.54.0-DEV (aarch64-unknown-linux-gnu) libcurl/7.54.0-DEV OpenSSL/1.0.2k zlib/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets HTTPS-proxy
2)执行cURL命令测试是否能正常使用。
curl https://www.huaweicloud.com/
能正常返回华为云页面的html信息,则表示cURL安装成功且能正常使用。