Cocos2d-x 网络访问之GET方法和POST
来源:互联网 发布:中世纪2优化9有英雄吗 编辑:程序博客网 时间:2024/05/16 01:22
#include "extension.h"
#include "HttpRequest.h"
#include "HttpClient.h"
#include "HttpResponse.h"
2,名空间
using namespace cocos2d;
using namespace CocosDenshion;
using namespace extension;
3,网络请求对象 //创建一个网络请求,所有的参数设置在网络请求里边,如地址,回调函数,请求方式,参数等,最后需要用CCHttpClient提交网络请求。
CCHttpRequest* request = new CCHttpRequest();
//设置网络请求地址
request->setUrl("");
//设置网络请求方式
request->setRequestType(CCHttpRequest::kHttpGet);
/**
* 请求的方式,枚举类型
typedef enum
{
kHttpGet,//get方式
kHttpPost,//post方式
kHttpPut,//put方式,没有用过,不知道
kHttpDelete,//delete方式,没用过
kHttpUnkown,//未知方式,没用过
} HttpRequestType;
*/
// const char* postData = "visitor=cocos2d&TestSuite=Extensions Test/NetworkTest";
//提交的参数,post提交的参数
// request->setRequestData(postData, strlen(postData));
//设置回调
request->setResponseCallback();
//设置请求tag
request->setTag("GET test1");
//提交请求
CCHttpClient::getInstance()->send(request);
//内存释放
request->release();
//======================完整代码
//注:ios和android网络访问我们已经熟练的将其放在一个线程中处理,但是cocos2d-x 查看源码我们就知道,系统在send操作里边自动添加了Thread,我们需要在外层添加新的线程,执行添加回调函数就ok
//提交请求
CCHttpRequest* request = new CCHttpRequest(); //url request->setUrl("www.baidu.com"); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, httpresponse_selector(HelloWorld::netWorkTest)); request->setTag("GET test1"); CCHttpClient::getInstance()->send(request); request->release();
//回调处理
void HelloWorld::netWorkTest(CCObject* pSender,void *data){ CCHttpResponse* response = (CCHttpResponse*)data; char statusString[64] = {}; int statusCode = response->getResponseCode(); CCLog("response code: %d", statusCode); //处理请求状态码 sprintf(statusString, "HTTP Status Code: %d, tag = %s", statusCode, response->getHttpRequest()->getTag()); CCLog("statusString:%s",statusString); //判断请求是否成功 if (!response->isSucceed()) { CCLog("response failed"); CCLog("error buffer: %s", response->getErrorBuffer()); return; } std::vector<char> *buffer = response->getResponseData(); CCLOG("size:%lu",buffer->size()); printf("Http Test, dump data: "); //转化为str类型 std::string str; str.insert(str.begin(), buffer->begin(), buffer->end()); std::cout<<"str: "<<str;}
- Cocos2d-x 网络访问之GET方法和POST
- Http访问网络之GET和POST
- Android 通过get和post方法访问网络
- cocos2d-x网络开发基础 HTTP的报文格式、GET和POST格式解析
- 15.cocos2d-x网络编程一(get、post请求)
- HttpURLConnection 访问服务器,GET和POST方法.
- Cocos2d—X游戏开发之LibCurl高级篇(get,post服务器数据)(网络详细参数信息)
- 安卓网络--网络访问Post和Get
- 网络编程之POST和GET区别
- 【网络】GET方法和POST方法的区别
- 网络相关系列之三:通过GET和POST方法发送数据
- cocos2d-x CCHttpClient 访问网络
- HttpClient-4.3.X 中get和post方法使用
- get和post方法
- HttpClient3.x之Get请求和Post请求示例
- HttpClient3.x之Get请求和Post请求示例
- ios之NSURLConnection网络请求数据/GET与POST方法
- Android 初识网络之get/post方法演示
- java.lang.NoClassDefFoundError: org/w3c/dom/xpath/XPathEvaluator解决
- 2013新炬数据库大师高校巡讲会—广州大学站
- 不要死在起跑线上-谈网站定位的重要性
- 查看Oracle的表中有哪些索引(用user_indexes和user_ind_columns)
- Notes 在Citrix XenApp上的一朵"云"--配置方案
- Cocos2d-x 网络访问之GET方法和POST
- ulimit -SHn 65535 含义详解
- Linux编程从入门到精通
- HOG特征描述算子
- Unity3D深度相机 Depth Camera
- 平台类网站内页排名大量消失怎么办?
- [Urgent]Senior Technical Support Engineer - 2013/10/22
- sqlite数据库简单操作
- 如何实现由列表控件控制的属性表