boost http響應讀取
響應報樣例:
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等相關類
趕專案,先不研究,有空了再研究
相關文章
- Laravel 文件閱讀: HTTP 響應LaravelHTTP
- 【Go】優雅的讀取http請求或響應的資料GoHTTP
- 【Go】優雅的讀取 http 請求或響應的資料GoHTTP
- 【Go】優雅的讀取 http 請求或響應的資料-續GoHTTP
- 【Go】優雅的讀取http請求或響應的資料-續GoHTTP
- HTTP 響應HTTP
- python requests讀取伺服器響應Python伺服器
- Sanic Response HTTP 響應HTTP
- HTTP協議-HTTP響應報文HTTP協議
- HTTP請求格式和HTTP響應格式HTTP
- HTTP 請求與響應HTTP
- Http請求與響應HTTP
- [php]http響應頭解析PHPHTTP
- HTTP 請求和響應格式HTTP
- HTTP 響應狀態碼HTTP
- HttpClient入門(1) 傳送請求,處理響應及響應重複讀取HTTPclient
- Go如何響應http請求?GoHTTP
- HTTP的請求與響應HTTP
- 理解Http請求與響應HTTP
- HTTP請求與響應簡析HTTP
- HTTP請求頭與響應頭HTTP
- HTTP協議---HTTP請求中的常用請求欄位和HTTP的響應狀態碼及響應頭HTTP協議
- 掌握 HTTP 快取——從請求到響應過程的一切(下)HTTP快取
- 掌握 HTTP 快取——從請求到響應過程的一切(上)HTTP快取
- php 獲取 http 響應頭 get_headers 方法的一個細節PHPHTTPHeader
- http請求頭與響應頭的應用HTTP
- 5、Ktor學習-生成HTTP響應;HTTP
- 【前端 · 面試 】HTTP 總結(十)—— HTTP 快取應用前端面試HTTP快取
- [前端 · 面試 ]HTTP 總結(十)—— HTTP 快取應用前端面試HTTP快取
- 指令碼化HTTP 取得響應 指定請求指令碼HTTP
- HTTP請求頭和響應頭詳解HTTP
- HTTP響應報文與工作原理詳解HTTP
- 安全相關的 HTTP 響應頭總結HTTP
- http響應程式碼及其代表的含義HTTP
- Wireshark的HTTP請求包和響應包如何對應HTTP
- OkHttp 原始碼剖析系列(七)——請求的發起及響應的讀取HTTP原始碼
- Spring MVC能響應HTTP請求的原因?SpringMVCHTTP
- HTTP&response響應&驗證碼&servletcontextHTTPServletContext