1.基本概念
JSON:是一种轻量级的数据交换格式,通常用于客户端与服务器之间的通信。
HTTP:是一种用于获取 HTML 文档等资源的协议。
httplib:是一个 C++ 库,用于在 C++ 程序中处理 HTTP 请求。
2.详细说明。
HTTP:客户端和服务器通过交换单个消息(而不是数据流)进行通信。客户端发送的消息称为请求,服务器作为答复发送的消息称为响应。
HTTP 请求:客户端(如浏览器、应用程序)向服务器发送请求,要求访问某个资源。
HTTP 响应:服务器处理客户端的请求后,返回相应的数据(如 HTML 文件、图片、JSON 数据等)。
http请求报文形式:
请求行+请求头+请求体。
请求行=请求方法(get、post、put、delete)等组成。
GET:用于请求资源,数据通过 URL 传递,不会修改服务器资源。常用于获取信息。
POST:用于向服务器发送数据,通常用于提交表单数据或上传文件。会修改服务器资源。
PUT:用于上传数据,通常用于更新现有资源或创建新资源。是幂等的。
DELETE:用于删除服务器上的资源。
请求头部(请求的额外信息)=字段名:字段值。常见的请求字段有(host、user-agent、accept、content-type、authorization)。
Host
请求头指定了请求的目标服务器的域名和端口。
User-Agent
请求头包含了发送请求的客户端软件的名称和版本信息。
Authorization
请求头用于传递身份验证信息,通常用于 Basic 或 Bearer 验证方式。它告诉服务器,客户端希望进行某种身份验证。
请求体(可选)。
http请求报文形式。
状态行=http版本(http/1.1)+状态码(200、404、500)+状态描述(ok、not found、internal server error)
响应头部(多个键值对组成)(content-type、content-length、server、set-cookie)等。
响应体(可选)。
3.httplib介绍
httplib::client创建客户端对象类。
httplib::params键对。可以添加键对。
httplib::params para;
para.emplace("user","ab");
para.emplace("code","123456");
httplib::headers存储http请求和响应的头部字段。
httplib::headers head;
head.insert({"authorization","bearer my_token"});