科普:
- cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。
- cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
- curl还支持SSL认证、HTTP POST、HTTP PUT、FTP上传, HTTP form based upload、proxies、HTTP/2、cookies、用户名+密码认证(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling。
一、Libcurl库简介
- libcurl库:在linux下用c语言做HTTP的编程,可以用于做跨平台网络协议相关的开发
- libcurl是一个跨平台的网络协议库,支持http, https, ftp等协议,libcurl同样支持:
(1)HTTPS证书授权
(2)HTTP POST, HTTP PUT, FTP 上传
(3)HTTP基本表单上传,代理,cookies,和用户认证
libcur库下载地址:下载curl-7.71.1.tar.bz2

将下载好的压缩包发送到ubuntu
二、Libcurl等三方库的通用编译方法
解压下载的库
tar xvf curl-7.71.1.tar.bz2
进入文件夹
cd curl-7.71.1
(1)三方库使用前通读方法
关于第三方库的使用手册可以阅读README文件,或者进入docs目录下阅读INSTALL.md文件
(2)库的配置、编译、安装
阅读INSTALL.md文件可知在unix环境下的安装步骤和安装时候指定的配置

安装步骤:

配置参数查看:
./configure --help
通过配置更改安装位置:

代码案例:$ 获取当前路径,编译的时候会自动生成_install文件夹,并且把编译生成的东西全部放入这个文件夹。
./configure --prefix=$PWD/_install
通过配置完成交叉编译:

代码案例:编译后在树莓派上用,此处用的是树莓派的交叉编译工具链而不是gcc(树莓派没有cmake则需要在宿主机上进行交叉编译)
./configure --prefix=$PWD/_install --host=arm-linux
编译、安装
make
make install //将编译后的文件拷贝到根目录的指定文件夹下
安装完成后在的当前路径下会有_install文件夹
此时头文件在/include/curl下

链接库的位置在/lib

三、测试代码
功能:调用libcurl编程访问百度主页
注意: C++里有专门的bool类型,用来表示真或假。但是在C语言里没有这样的类型,为了修改方便直接选择替换bool数据类型以及true和false变量( 类似于bool,true,faluse,这是C99标准才会支持)
测试代码来源:http协议之libcurl
(1)代码:
#include <stdio.h>
#include

本文介绍了Libcurl库的基本概念及使用方法,包括库的编译安装、HTTP GET和POST请求示例,以及常用API解析。
5769

被折叠的 条评论
为什么被折叠?



