没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
本文中的所有信息归厦门亿联网络技术有限公司所有 第 2 页 共 39 页
目录
1 libcurl 简介
...................................................................................................................
3
1.1 libcurl 概述
.........................................................................................................
3
1.2 网络堆栈图
.......................................................................................................
4
1.3 为什么选择 libcurl
.............................................................................................
4
1.4 libcurl 相关链接
.................................................................................................
5
2 libcurl 包
......................................................................................................................
5
2.1 lib
.....................................................................................................................
5
2.2 src
...................................................................................................................
6
2.3 include
.............................................................................................................
6
2.4 docs
................................................................................................................
6
2.5 编译源码
..........................................................................................................
6
3 使用 libcurl 编写应用程序
............................................................................................
6
3.1 libcurl 编程流程
.................................................................................................
6
3.2 libcurl 重要函数
................................................................................................
7
3.3 curl_easy_setopt 函数介绍
.............................................................................
10
3.4 curl_easy_perform 函数说明( error 状态码)
.................................................
11
3.5 多线程问题
.....................................................................................................
12
4 使用 curl 命令上传 / 下载文件
......................................................................................
12
4.1 搭建 HTTP 服务器
...........................................................................................
12
4.2 搭建 FTP 服务器
............................................................................................
13
本文中的所有信息归厦门亿联网络技术有限公司所有 第 3 页 共 39 页
4.3 从 HTTP 服务器下载文件
...............................................................................
13
4.4 使用 POST 向 HTTP 服务器上传文件
.............................................................
13
4.5 使用 PUT 向 HTTP 服务器上传文件
................................................................
14
4.6 从 FTP 服务器下载文件
..................................................................................
15
4.5 向 FTP 服务器上传文件
..................................................................................
15
5 编写 C 程序上传 / 下载文件
.........................................................................................
16
5.1 从 HTTP 服务器下载文件
................................................................................
16
5.2 使用 POST 向 HTTP 服务器上传文件
.............................................................
18
5.3 使用 PUT 向 HTTP 服务器上传文件
...............................................................
20
5.4 从 FTP 服务器下载文件
.................................................................................
22
5.5 向 FTP 服务器上传文件
.................................................................................
22
6 文件功能概述
............................................................................................................
25
1 libcurl 简介
1.1 libcurl 概述
curl 最初的设计初衷是使用不同的协议(比如 FTP 、 HTTP 、 SCP 等)在端
点之间移动文件 。 它最初是一个命令行实用工具 , 但现在也是一个绑定了 30
多种语言( C/C++ 等)的库 libcurl , curl 是 libcurl 库的包装器。因此,
本文中的所有信息归厦门亿联网络技术有限公司所有 第 4 页 共 39 页
现在不仅可以通过 shell 使用 curl , 还可以构建合并了这个重要功能的应
用程序。
libcurl 库也是可以移植的 , 支持 Linux 、 IBM AIX 操作系统 、 BSD 、 Solaris
以及许多其他 UNIX 变体 。 libcurl 是免费的客户端 URL 传输库 , 支持 FTP
,
FTPS , HTTP , HTTPS , SCP , SFTP , TFTP , TELNET , DICT , FILE , LDAP 等协
议,具备线程安全、 IPV6 兼容、易于使用等特点。
libcurl 编译安装后,主要有两部分: libcurl 链接库和 curl 命令行工具
。
链接库可为外部应用程序调用, curl 命令行工具可在 linux Shell 下上传
下载文件。
1.2 网络堆栈图
图 1. 网络堆栈和 libcurl
本文中的所有信息归厦门亿联网络技术有限公司所有 第 5 页 共 39 页
1.3 为什么选择 libcurl
从网上搜索到的主流的 http 下载库有 libcurl 、 libwww 、 libfetch 、
libghttp 、 libferit 、 neon 、 libsoup 、 mozilla netlib 、 wget 、 HTTP fetcher
、
http-tiny 、 XMLHTTP object 、 QHttp 、 GNU common c++library 、 HTTPClient
、
lftp 、 http fetcher 、 libhttp 、 mydownlib 。
选择下载库的要求是:必须支持 HTTP/HTTPS 上传和下载,支持摘要认证,
线程安全。 支持 HTTPS 的只有 libcurl 、 HTTPClient 、 libsoup 、 lftp 、 mydownlib
、
libwww 。
在这六种中, mydownlib 不支持摘要认证。
libwww 库功能太复杂,文档不详细,很少被提及,且已经停止开发。
lftp 是一个功能强大的下载工具 , 它支持访问文件的协议 : ftp, ftps, http,
https, hftp, fish.( 其中 ftps 和 https 需要在编译的时候包含 openssl 库 )
。
llftp 的界面非常想一个 shell: 有命令补全,历史记录,允许多个后台任务执
行等功能 , 使用起来非常方便 。 它还有书签 、 排队 、 镜像 、 断点续传 、 多进程下
载等功能 。 但 lftp 依赖很多包 , 如 readline 、 pkg-config 、 gnutls 等 , 如果要
编译 lftp ,必须先安装这些包,不利于使用。
剩下 libcurl 、 libsoup 、 HTTPClient 三种。 HTTPClient 代码虽然比较少
,
剩余38页未读,继续阅读
资源评论
- wzhllt2012-12-21不是想要的 对证书请求那一块介绍的太少几乎是一言概括
- ocean_ray2013-11-13不是想要的 对证书请求那一块介绍的太少几乎是一言概括
- lm1801802016-01-11感觉一般般!不过还是谢谢分享
zhaoyufeng0908
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功