目录
4.3.2 CURLOPT_HTTPHEADER 设置http头部字段
4.3.3 CURLOPT_WRITEFUNCTION,CURLOPT_WRITEDATA
3.3.4 CURLOPT_HEADERFUNCTION,CURLOPT_HEADERDATA
一. libcurl 库下载
Release 7.71.1 · curl/curl (github.com)
二. openssl库的下载
HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
llibcurl默认安装完后是只支持http协议而不支持https协议的。而我们进行访问人脸识别的api是要验证你的id和secret的,所以还需要下载安装openssl库。
下载地址
wget https://www.openssl.org/source/openssl-fips-2.0.14.tar.gz
三. libcurl 库的编译安装
步骤一:首先读取README中的内容,这是一个介绍文档
通过此文档我们知道了,要了解如何使用curl,请阅读curl.1手册页或MANUAL文档。要了解如何安装curl,请阅读INSTALL文档。所有这些文档以及更多内容都可以在docs/目录中找到。
步骤二:进入到docs目录中,查看curl.1手册,发现没有什么看的
步骤三:查看INSTALL手册,发现这个手册让我们去看INSTALL.md文档
步骤四:查看INSTALL.md文档
第三步为可选项,所以大概可以分为三步,配置——>编译——>安装(把编译的结果拷贝到相关文件夹底下)
步骤五:配置
./configure --prefix=$PWD/_install --host=arm-aarch64-none-linux-gnu-gcc //如果要交叉编译
./configure --prefix=$PWD/_install --with-ssl//无需交叉编译
--prefix可以指定要安装的路径,如果你不想安装到/usr/local
--host可以指定交叉编译工具
--with-ssl 指定需要https服务
步骤六:编译
make
步骤七:安装
make install
安装完毕后就能看到_install文件夹了
可以看到有关于此库的头文件等内容都包含到/_install/include/文件夹,而我们需要的共享库文件和静态库文件都在/_install/lib/下
四. libcurl库的使用
4.1 初始化libcurl库
CURLcode curl_global_init(long flags);
/*
参数:flags
CURL_GLOBAL_ALL //初始化所有的可能的调用。
CURL_GLOBAL_SSL //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32 //初始化win32套接字库。
CURL_GLOBAL_NOTHING //没有额外的初始化。
*/
这个函数只能使用一次(在调用curl_global_cleanup() 函数后仍然可再用),如果这个函数在curl_easy_init()函数调用时还没调用,它讲由libcurl库自动调用,所以多线程下最好主动调用该函数以防止在线程中curl_easy_init()时多次调用。
4.2 初始化CURL句柄
CURL *curl_easy_init();
类似于socket编程,得到一个套接字