一、libcurl简介
libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。
二、openssl简介
什么是openSSL?
OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用
编译openssl支持libcurl的https访问:
http协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。
https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。
三、安装openssl和libcurl:
1.安装openssl:
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -xvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a/
./config
make
sudo make install
2.安装curl:
tar xvf curl-7.71.1.tar.bz2
cd curl-7.71.1/
./configure --prefix=$PWD/_install --with-ssl
make
sudo make install
3.使用
export LD_LIBRARY_PATH=/home/duyong/httpHandler/smart/curl-7.71.1/_install/lib/
指定动态加载库的路径
gcc demo3.c -lcurl -L./curl-7.71.1/_install/lib -I ./curl-7.71.1/_install/include
-L:指定库路径
-I:指定头文件路径
四、交叉编译安装openssl
1、下载openssl压缩包
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
2、解压
tar -xvf openssl-1.1.1a.tar.gz
3、配置
cd openssl-1.1.1a/
./config --prefix=$PWD/build --host=arm-linux CC=arm-linux-gnueabihf-gcc
--prefirx=【绝对路径】:指定安装路径
--host=【交叉编译工具】:指定交叉编译工具
4.编译和安装
make
sudo make install
四、交叉编译安装libcurl
1.下载libcurl:
Release 7.71.1 · curl/curl · GitHub
2.解压
tar xvf curl-7.71.1.tar.bz2
3.配置
./configure --prefix=$PWD/_install --with-openssl=/home/duyong/httpHandler/smart/openssl-1.1.1a/build --host=arm-linux CC=arm-linux-gnueabihf-gcc
--with-openssl=【生成的lib,include ,bin 所在的路径】
4、编译和安装
make
sudo make install