boost http响应读取

简介: 响应报样例:HTTP/1.1 201 CreatedContent-Type: application/jsonX-Etcd-Cluster-Id: cdf818194e3a8c32X-Etcd-Index: 11...

响应报样例:

HTTP/1.1 201 Created

Content-Type: application/json

X-Etcd-Cluster-Id: cdf818194e3a8c32

X-Etcd-Index: 115

X-Raft-Index: 1146

X-Raft-Term: 3

Date: Tue, 17 Apr 2018 07:36:20 GMT

Content-Length: 171

 

{"action":"set","node":{"key":"/test/node/node_using","value":"10.20.6.99","expiration":"2018-04-17T07:36:30.763332719Z","ttl":10,"modifiedIndex":115,"createdIndex":115}}

 

部分代码:

http::response<http::string_body> res;

http::read(socket, buffer, res);

cout << "Result:" << res.result() << "." << res.result_int() << endl; 

cout << "Contentlen:" << res.body().size() << endl; 

cout << "has len:" << res.has_content_length() << endl; 

cout << "body:" << res.body() << endl;

输出:

Result:Created.201

Contentlen:171

has len:1

 

一开始用dynamic_body,被坑的好惨,dynamic_body还不清楚原理,想通过res.body()获取包体死活不行,改为string_body直接搞定

 

研究了半天大概了解了下boost/beast/http/message.hpp里这样定义:

深入看下去,meaage继承自:

从上面的红色测试代码可看出,可以直接获取包头的一些信息,但是如果是dynamic_body的话不能用直接通过body()获取,还没研究出用法,知道其涉及到const_buffers_type、multi_buffer等相关类

 

赶项目,先不研究,有空了再研究

目录
相关文章
|
3月前
|
存储 缓存 API
HTTP 请求的响应头部字段 Cache-Control 的值为 no-store 是什么意思
HTTP 请求的响应头部字段 Cache-Control 的值为 no-store 是什么意思
60 0
|
5月前
|
网络协议
深入理解HTTP的基础知识:请求-响应过程解析
在当今数字化的世界中,理解HTTP协议的基础知识变得至关重要。本文将带您深入探索HTTP的核心概念和请求-响应的过程。HTTP是一种用于在计算机之间传输超文本数据的协议,它不仅定义了数据交换的规则和格式,还为不同的应用程序提供了通信和交换信息的能力。通过深入了解HTTP的请求-响应过程,我们将更好地理解网络通信的基本原理,为构建和优化网络应用打下坚实的基础。
178 1
|
29天前
|
网络协议 网络安全 API
Qt 网络编程之美:探索 URL、HTTP、服务发现与请求响应
Qt 网络编程之美:探索 URL、HTTP、服务发现与请求响应
43 1
|
2月前
|
XML JSON 中间件
|
2月前
|
Java
【JavaEE初阶】 HTTP响应报文
【JavaEE初阶】 HTTP响应报文
|
2月前
|
数据采集 JSON Java
HttpClient:HTTP GET请求的服务器响应输出
HttpClient:HTTP GET请求的服务器响应输出
|
3月前
|
缓存 负载均衡
常见的HTTP响应状态码
常见的HTTP响应状态码
74 0
|
4月前
|
Web App开发 缓存 网络协议
HTTP请求数据格式及响应数据格式
HTTP请求数据格式及响应数据格式
46 0
|
5月前
|
API
什么是 HTTP 响应字段里的 Referrer Policy
什么是 HTTP 响应字段里的 Referrer Policy
19 0
|
5月前
|
JavaScript 中间件 网络安全
HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍
HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍
221 0