C++HTTP请求学习(一)
简述:最近在找一个C++封装的http请求库进行学习,也打算根据开源库封装一个自己项目可能使用的一个通用帮助类库,所以找到了ic-client。ic-client是基于libcurl封装的一个开源项目。下面简单介绍一下ic client的功能和Http请求的状态码。
一、ic client介绍
ic client基于libcurl库封装了相关的http请求接口。libcurl是通过C++11实现的,支持跨平台。从项目的使用上来看,这个库(libcurl)还是比较成熟的,性能和代码可读性都比较好。
ic client的功能:
- HTTP、POST、PUT、DELETE、HEAD请求
- 是否重定向,及重定向最大次数
- 超时(毫秒)
- SSL证书和密钥
- 验证HTTPS请求对象的合法性
- HTTP(s)代理
- 接受的内容编码方式 (Accept-Encoding)
- Cookie
- Post请求数据(可设置MIME类型)
- 自定义传输进度处理(例如下载进度条)
- 文件下载(普通下载、断点续传、分片下载)
- 限制下载/上传速度