[Ubuntu] 编译&使用 curl 库进行简单网络请求

当使用C++做HTTP客户端时,目前通用的做法就是使用libcurl。其官方网站的地址是 http://curl.haxx.se/,该网站主要提供了Curl和libcurl。Curl是命令行工具,用于完成FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP的命令的请求及接收回馈。libcurl提供给开发者,用于使用C++跨平台的开发各种网络协议的请求及响应。里面的文档非常齐全,不过都是英文的。

0、系统环境:
Ubuntu 14.04
curl v7.46.0

1、编译 libcurl 库:
1)下载 curl 源码:

或者使用我网盘里面的代码:
http://pan.baidu.com/s/1dDMNrKt

2)检查 curl 依赖项是否安装:

3)编译安装:
依次运行以下命令进行编译安装(需要输入管理员密码):

如果一切正常则会显示如下:
Screenshot from 2016-01-15 15:45:22

其中我们需要的库文件自动安装在:
/usr/local/include
/usr/local/lib
两个文件夹下面。

2、封装 CHttpClient 类进行网络请求:
为了方便使用,我们这里采用了一个封装的 CHttpClient 类,这个类只包含同步 HTTP/HTTPS 的 GET、POST 请求。该封装部分代码来自:
http://www.tamabc.com/article/245027.html

它的源代码如下:

头文件 CHttpClient.hpp:

源文件 CHttpClient.cpp:

3、调用示例:
1)示例1:调用 Get 方法
源代码如下:

这个示例非常简单,就是获取一个网址的内容,使用Get方法,就不解释了。
另外它还有Post方法和HTTPS的相关方法,可以自行研究下。

2)示例2:调用 Download 方法
源代码如下:

这个示例调用 Download 函数从网络上下载一张 lena 图片并保存到本地。

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注