您的位置:首页 > 理论基础 > 计算机网络

cocos2d-x CCHttpClient 访问网络

2014-03-25 16:51 453 查看
void HelloWorld::getPictureByUrl(string url)

{

    CCLog("getPictureByURl is CALLED");
    CCHttpRequest* request = new CCHttpRequest();

//request对象

    string path =
        "http://www.baidu.com/img/bdlogo.gif";

//请求的目的地址

//设置请求参数

    request->setUrl(path.c_str());

//get请求方式

    request->setRequestType(CCHttpRequest::kHttpGet);
//设置响应回调函数    

request->setResponseCallback(this,

                                 callfuncND_selector(
                                     HelloWorld::responseCallBack));

//发送请求

    CCHttpClient::getInstance()->send(request);
//释放资源    

request->release();

    CCLog("getPictureByURl is CALLED OVER");

}

void HelloWorld::responseCallBack(

    CCNode* node,void* data)

{
    CCLog("response is CALLED");

//获得响应对象

    CCHttpResponse* response = (CCHttpResponse*)data;

    if(!response)

    {

        CCLog("response is NULL");

        return;

    }

    if(!response->isSucceed())

    {

        CCLog("response isScuuessed error");
    }

//保存地址

    string savePath =

        CCFileUtils::sharedFileUtils()->getWritablePath()
        +"1.png";

//保存缓冲区

    vector<char>* buffer =

        response->getResponseData();

    string str(buffer->begin(),buffer->end());
//创建文件    

FILE* fp=fopen(savePath.c_str(), "wb+");

//写入数据    

fwrite(str.c_str(), 1, str.length(), fp);

//关闭文件    

fclose(fp);

    CCLog("Save pic SUCCESS");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息