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");
}
{
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");
}