cocos2dx 3.x HttpRequest GET获取数据
.h文件
#include "network/HttpClient.h" //包含头文件
// GET 函数
void createGetHttp();
void getHttp_handshakeResponse(cocos2d::network::HttpClient *sender, cocos2d::network::HttpResponse *response);
.cpp文件
using namespace network;
// GET通信
void MainMenuLayer::createGetHttp()
{
// 生成HttpRequest对象
auto request = new HttpRequest();
// 设置请求
request->setUrl("http://localhost/test.php");
// 设置请求方式 GET类型
request->setRequestType(HttpRequest::Type::GET);
// 设置请求完成后的回调函数
request->setResponseCallback(CC_CALLBACK_2(MainMenuLayer::getHttp_handshakeResponse, this));
// 设置请求tag
request->setTag("getHttp_handshake");
// 生成HttpClient对象,并且发送请求
HttpClient::getInstance()->send(request);
// 释放HttpRequest对象
request->release();
}
void MainMenuLayer::getHttp_handshakeResponse(HttpClient *sender, HttpResponse *response)
{
// 使用response->getResponseData(); 获取请求返回的数据
std::vector<char> *buffer = response->getResponseData();
std::stringstream s;
// 输出数据
for (unsigned int i = 3; i < buffer->size() - 1; i++)
{
s << (*buffer)[i];
}
//因为数据库里的数值是float
float f = atof( s.str().c_str() );
GlobalData::GetSingleton()->SetFwqPercentage( f );
}