Coccos2d-X中的Http GET/POST请求

And*_*Dev 3 cocos2d-x

我是新手Cococs2d-X用于游戏开发.我试图找到一些HttpClient在我的游戏中使用该库的例子.有人能告诉我一个例子吗?

小智 9

对于Cocos-2dx 3.3,您需要包含以下标头并使用命名空间声明:

#include "cocos2d.h"
#include "network/HttpClient.h"

USING_NS_CC;
using namespace network;
Run Code Online (Sandbox Code Playgroud)

然后你可以直接创建HttpRequest:

HttpRequest* request = new HttpRequest();
request->setRequestType(HttpRequest::Type::GET);
request->setUrl("http://YOUR_URL");
request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this));
request->setTag("Get test");
HttpClient::getInstance()->send(request);

request->release();
Run Code Online (Sandbox Code Playgroud)

您的回调函数可以处理响应:

void HttpClientTest::onHttpRequestCompleted(HttpClient *sender, HttpResponse *response) {
    if (response && response->getResponseCode() == 200 && response->getResponseData()) {
        vector<char> *data = response->getResponseData();
        string ret(&(data->front()), data->size());
        CCLOG("%s", ("Response message: " + ret).c_str());
    }
    else {
        CCLOG("%s", ("Error " + to_string(response->getResponseCode()) + " in request").c_str()); //error
    }
}
Run Code Online (Sandbox Code Playgroud)