1 需求 获取http server的图片
用http协议获取server上的图片,前面有文章使用socket直接获取http内容之一,链接如下: 简洁的c++http协议获取内容一 使用简洁的方式目的是为了减少使用其他库来放入程序,如果我们已经使用了boost的asio库,那么至少我们可以直接使用boost来获取图片。如果没有使用,读者可以看上一篇文章。
2 使用boost的asio 来获取图片,读者可以自行修正成异步获取,这里是同步获取boost的asio有很多好处,不同于其他封装,可以使用同步,异步,协程方式获取,这里使用的是同步,调用一个函数返回图片内存和图片大小,当然,读者可以修改,这里只是一个demo。代码的原理如下:
- 发送http 头部信息
- 等待接收数据,获取http头部
- 解析头部信息,获取Content-Length
- 准备内存,接收数据
- 返回数据
#include
#include
#include
#include
#include
using boost::asio::ip::tcp;
using std::string;
//这里直接搜索http的头部字符串
int split_httphead(const std::string str,std::string &k,std::string &v)
{
size_t pos = -1;
for (size_t i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?