POCO库下访问http获取json串
来源:互联网 发布:access与sql的区别 编辑:程序博客网 时间:2024/04/28 03:13
1.首先需要去官网下载POCO库,地址点击打开链接
2.根据不同的VS版本编译POCO库,将生成的incude头文件、bin文件和lib文件拷到VS目录下就可进行编译
(这是官网的文档,可参考下点击打开链接)
下面是具体的代码(包括数据的获取和解析):
#include "stdafx.h"#include <iostream>#include "Poco/Net/HTMLForm.h"#include "Poco/URI.h"#include "Poco/Net/HTTPClientSession.h"#include "Poco/Net/HTTPRequest.h"#include "Poco/Net/HTTPResponse.h"#include "Poco/StreamCopier.h"#include "Poco/Net/NetException.h"#include "Poco/JSON/Object.h"#include "Poco/JSON/Parser.h"#include "Poco/Dynamic/Var.h"#include "Poco/ASCIIEncoding.h"#include "Poco/UTF8Encoding.h"#include "Poco/UTF16Encoding.h"#include "Poco/TextConverter.h"#include <iostream>#include <sstream>using namespace::Poco::JSON;int _tmain(int argc, _TCHAR* argv[]){Poco::URI purl("");//输入要访问的Urltry{Poco::Net::HTTPClientSession session(purl.getHost(), purl.getPort());Poco::Net::HTTPRequest req(Poco::Net::HTTPRequest::HTTP_GET, purl.getPath(), Poco::Net::HTTPMessage::HTTP_1_1);Poco::Net::HTMLForm form;//创建一个表单//form.add("channel", "cctv1");// Send the request.form.prepareSubmit(req);std::ostream& ostr = session.sendRequest(req);form.write(ostr);//提交post的键值信息Poco::Net::HTTPResponse res;std::istream& istr = session.receiveResponse(res);//上句接收网站回应的信息 返回输入流 并copy到标准控制台输出流//Poco::StreamCopier::copyStream(istr, std::cout);std::string temp;Poco::StreamCopier::copyToString(istr, temp);std::cout << temp << std::endl; //将返回结果输出//解析字符串,下面的data和title要根据JSON数据选择Parser parser;Poco::Dynamic::Var result = parser.parse(temp);Poco::JSON::Object::Ptr object = result.extract<Object::Ptr>();Poco::Dynamic::Var test = object->get("data"); Object::Ptr secobject = test.extract<Object::Ptr>();Poco::Dynamic::Var name = secobject->get("title");const std::string nameStr = name.toString();std::cout << nameStr << std::endl;}catch (Poco::Net::NetException& ex){std::cout << "post wrong: " << ex.displayText();}system("PAUSE");return 0;}
0 0
- POCO库下访问http获取json串
- POCO库下访问HTTPS获取返回的JSON数据
- Poco:http中传输json对象
- Poco库http客户端代码
- Poco教程(一):使用Poco库建立Http Server
- windows下搭建poco库
- Poco库实现简单的http服务器
- 学习Poco库之HTTP下载器
- angularjs服务-http获取json串
- Angularjs $http获取json
- poco JSON 的使用
- poco::json使用
- Poco库下的编码转换
- poco访问数据库
- HTTP 网络访问/JSON 解析
- http 访问网络 返回json 解析json
- 微博开发原理简化android使用http访问php获取json
- SOCI、LiteSQL、POCO数据库访问类库对比
- iOS线程安全问题
- 非常简单的Python HTTP服务
- UICollectionView的初始化
- 安卓开发:去掉标题栏和任务栏的方法
- SUBLIME TEXT 3 CHEAT SHEET
- POCO库下访问http获取json串
- Linux下安装DB2数据库步骤
- PAT1023组个最小数 (20)
- 【追求进步】数字在排序数组中出现的次数
- GPU 加速下的图像处理
- Android聊天页面发送图片定制(类似微信)
- json2xlsx AND xlsx2json 接口
- Apache服务器无法获取Authorization Header
- Strtus2——request、response等内置对象的获取方式