cpp-httplib库简单原理,听说你还不会开源库?

介绍

cpp-httplib是一个c++封装的http库,使用这个库可以在windows平台下完成http客户端、http服务端的搭建。

在p2p点对点下载器的项目中,我们只需用到cpp-httplib中的 httplib.h这个头文件,所以我们在这里只讲一下httplib搭建tcp客户端与服务器的原理

安装httplib:

git clone https://gitee.com/iqxg/cpp-httplib.git

httplib.h头文件的处理流程

1. 最简单的http客户端搭建的步骤

  1. 组织http协议格式的请求数据
  2. 搭建tcp客户端
  3. 发送组织好的http请求数据
  4. 等待服务端响应,接收响应数据
  5. 对响应数据的解析

2. 最简单的http服务端搭建的步骤

  1. 搭建tcp服务端
  2. 等待接收客户端发送的数据
  3. 按照http协议格式,对数据进行解析(格式按照: 请求方法 URL 协议版本\r\n 头部\r\n 正文)
  4. 根据请求的资源路径以及查询字符串以及正文,进行业务处理
  5. 组织http协议格式的响应,返回给客户端(协议版本 状态码 描述\r\n 头部)

httplib.h头文件的组成

httplib.h头文件的组成主要包含有以下四个类

类名
class Request 请求数据类
class Response 回复数据类
class Server 服务端类
class Client 客户端类

发送请求类的组成

class Request
{
   
	std::string method;  // 请求方法
	std::string path; // 请求路径
	map<std::string, std::string> param;  // 查询字符串(查询字符串中)
	map<std::string, std::string> headers;// 键值对头部
	std::string body; //正文
};

回复数据类的组成

class Response
{
   
	int status; //返回的状态码
	map<std::string,std::
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值