个人开发库se之http
2017-05-04 16:38
190 查看
由于项目需要,也为了能对C++编程有更深入的了解,特积累开发此个人库,目前正处于开发中,希望有大牛看到给一些指导意见
以下是项目的git地址:
https://github.com/GitOyoung/SE.git如果需要测试或者使用该库,clone之后,按照README.md内容进行编译安装
由于该库基本属于工具型的个人库,所以也有依赖的三方库,比如se_http组件依赖libcurl,se_facepp组件依赖se_http和jsoncpp(jsoncpp),编译之前请先安装好依赖库
其中的http部分属于本文重点介绍内容,具体如下:1. 使用到的类包括se::network::http::Request, se::network::http::Client以及se::network::http::Response三个类
2. se::network::http::Request表示客户端发起的http请求,se::network::http::Client表示http客户端,se::network::http::Response表示http响应结果
3. 使用实例代码如下:
se::network::http::Client http; se::network::http::Request req("www.xxxx.com"); req.header("Content-Type", "application/json;charset=UTF-8"); req.body("{\"name\":\"Xiaoming\", \"what\":\"is SB\"}"); std::string body = http.post(req).response().body(); //方式1 http.post(req).response([](const se::network::http::Response& res) { std::string body = res.body(); });
se::network::http::Request也支持query和form-data
使用query时
req.query("key","hjdfkhjsgdhjfksjf");
使用form-data时,需要先设置header
req.header("Content-Type", "multipart/form-data"); se::network::http::Request::FormData formData; formData.type = se::network::http::Request::FORM_NAME_CONTENT; formData.name = "image_url"; formData.content = "https://www.faceplusplus.com.cn/images/detection/group-case.jpg" req.formdata(formData); http.post(req).response();
使用form-data也可以提交文件
std::string filePath("./image.png"); formData.type = se::network::http::Request::FORM_NAME_FILE; formData.name = "image_file"; formData.file = filePath; req.formdata(formData);
后续功能都会进一步完善,出现的bug也希望大牛能够指点一二好改进
相关文章推荐
- Xamarin体验:使用C#开发iOS/Android应用(此文章为收藏博客,不是个人经验) by----作者:囧月 出处:http://lwme.cnblogs.com/
- 个人开发的博客系统上线了!!!http://blog.verysu.com
- 1个人开发操作系统-初篇 http://blog.csdn.net/tyrone1979/archive/2006/08/03/1013734.aspx
- ArcGIS接口详细说明之个人开发心得
- Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
- 在Windows下使用OmniORB+VC6开发CORBA http://hi.baidu.com/billyboy/item/4bf406dfd792d8e4785daa7b
- 用ogre开发的一些团体和个人的日志
- 网络开发:HTTP协议(v1.1 )
- 个人开发总结分享:Android学习及如何利用android来赚钱
- Java开发之Maven的基本配置及个人理解
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
- Django个人博客开发(十二:ueditor paginator、十三:log user)
- Unity3D开发之Http协议网络通信
- 在美做开发多年,写给国内iphone新手,转自http://bbs.feng.com/read-htm-tid-768284.html
- <二>iOS 开发Push的个人见解 图文并茂 详细到我写的想吐!!!!!!!!!
- 下面是应用SharePoint开发的网站的截图,个人感觉很不错
- 人,是人,真的是人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(四)
- 转贴(Javaeye) 三五个人十来条枪 如何走出软件作坊成为开发正规军
- (转)推荐阿朱新书《走出软件作坊:三五个人十来条枪 如何成为开发正规军》
- iOS开发中HTTP协议的应用