cocos2d-x向网页请求数据(C++)
来源:互联网 发布:js 字符串转换json数组 编辑:程序博客网 时间:2024/06/07 16:58
HandleLottery函数用来处理网页返回数据
void MyLottery::RequestLottery(){HttpRequest* pHttpReq = new (std::nothrow) HttpRequest();//一个请求数据封装类,用于HttpClient::sendpHttpReq->setRequestType(HttpRequest::Type::POST);//在发送HttpRequest对象前,设置HttpRequest的类型值,它可以是HttpRequest::Type的枚举类型中的任意一个值。std::string url = "";std::string requestData = StringUtils::format("Uid=1005424&Key=%s&LotteryId=2017061401",key);pHttpReq->setUrl(url.c_str());//设置HttpRequest对象的url。 url的值如下:“http://httpbin.org/ip”或“https://httpbin.org/get” pHttpReq->setRequestData(requestData.c_str(), requestData.size());//设置HttpRequest对象的请求数据。 pHttpReq->setTag("requestLottery");//设置字符串标签用于识别request。 这个字符串标签可以通过HttpResponse->getHttpRequest->getTag()获得。pHttpReq->setResponseCallback(CC_CALLBACK_2(MyLottery::HandleLottery, this));//设置target和相关的回调函函数。 当响应返回时,它将调用(pTarget->*pSelector)来处理一些事情。 HttpClient::getInstance()->setTimeoutForConnect(6);//以秒为单位设置连接超时时间。 HttpClient::getInstance()->send(pHttpReq);//添加一个request到任务队列中 pHttpReq->release();}void MyLottery::HandleLottery(HttpClient* client, HttpResponse* response){std::string strMsg;if (!response->isSucceed()){return;}else{std::vector<char> *buffer = response->getResponseData();//获取http响应数据。std::string strData(buffer->begin(), buffer->end());rapidjson::Document doc;doc.Parse<0>(strData.c_str());if (doc.HasParseError())return;if (doc.HasMember("DrawTimes"))m_lotteryResult.drawTime = doc["DrawTimes"].GetInt();if (doc.HasMember("HitMsg"))m_lotteryResult.hitMsg = doc["HitMsg"].GetString();if (doc.HasMember("HitTimes"))m_lotteryResult.hitTime = doc["HitTimes"].GetInt();if (doc.HasMember("IsSuccess"))m_lotteryResult.isSuccess = doc["IsSuccess"].GetBool();if (doc.HasMember("ItemId"))m_lotteryResult.itemId = doc["ItemId"].GetInt();if (doc.HasMember("Opportunities"))m_lotteryResult.opportunities = doc["Opportunities"].GetInt();if (doc.HasMember("UserId"))m_lotteryResult.userId = doc["UserId"].GetInt();}m_opportunityTime->setString(std::to_string(m_lotteryResult.opportunities));}key用抓包软件获取
阅读全文
1 0
- cocos2d-x向网页请求数据(C++)
- cocos2d-x http请求
- cocos2d-x 网络请求
- cocos2d-x 网络请求
- 向ElasticSearch 请求数据
- 向网页提交数据
- C++ 以POST方式向网页提交数据
- cocos2d-x 网络请求 Http
- cocos2d-x Android打开网页
- cocos2d-X:Json数据(1)
- cocos2d-X:Json数据(2)
- cocos2d-x 数据存储
- Cocos2d-x数据模块
- cocos2d-x解析json文件(C++)
- cocos2d-x读取cocosStudio控件(C++)
- NSURLConnection请求网页数据
- ASIHTTPRequest请求网页数据
- Cocos2d-x笔记(四)CCHttpCleint网络请求
- POJ 2154 Color (Polya + 欧拉函数)
- ansible
- Spring-framework 源码Intellij IDEA 导入工程
- 视频质量分析系统之音视频测试工具
- ASP.NET Core之跨平台的实时性能监控(2.健康检查)
- cocos2d-x向网页请求数据(C++)
- Laravel数据库操作的三种方式
- httpURLConnection-网络请求的两种方式-get请求和post请求
- 装饰模式
- Python---64位的windows系统中python的下载与安装
- 单链表面试题(一)
- vue弹窗组件的编写历程
- HDU 1267 下沙的沙子有几粒?
- git 生成 patch的命令