예제 #1
0
void QimiAlipayView::rechargeOnClick(cocos2d::CCNode* pSender, cocos2d::extension::CCControlEvent* pCCControlEvent)
{
    m_money = atoi(m_pEditName->getText());
    CCHttpRequest* request = new CCHttpRequest();
    request->setUrl("http://www.qimi.com/platform/addOrder.php");
    request->setRequestType(CCHttpRequest::kHttpPost);
    request->setResponseCallback(this, httpresponse_selector(QimiAlipayView::onLoadOrderSucssful));
    
    char sign[255];
    sprintf(sign, "%s%d%s",
            m_uId.c_str(),
            m_sId,
            m_key.c_str());
    QimiMD5 md5;
    md5.update(sign);
    
    CCLog("md5str==%s",sign);
    std::string md5tolower = md5.toString();
    
    CCString* postDataStr = CCString::createWithFormat("uId=%s&sId=%d&sign=%s&money=%d&orderType=alipay&type=0", m_uId.c_str(), m_sId, md5tolower.c_str(), m_money);
    CCLog("addOrder string ===%s", postDataStr->getCString());
    const char* postData =postDataStr->getCString();
    request->setRequestData(postData, strlen(postData));
    
    request->setTag("POST test1");
    CCHttpClient::getInstance()->send(request);
    request->release();
    
    RequestLoadingView* mask = RequestLoadingView::create();
    mask->setTag(100000);
    this->addChild(mask);
    
}
예제 #2
0
CCHttpRequest* CHttpServer::getPostRequestByUrlAndData(const char* pUrl, const char* pData)
{
	CCHttpRequest* pRequest = new CCHttpRequest();
	pRequest->setUrl(pUrl);
	pRequest->setRequestType(CCHttpRequest::kHttpPost);
	pRequest->setRequestData(pData ,strlen(pData));
	addDefaultHeaders(pRequest);
	return pRequest;
}
void OnlineController::_discoverServer(float)
{
    CCLog("== discovering server");
    CCHttpRequest* request = new CCHttpRequest;
    request->setUrl("https://dl.dropboxusercontent.com/u/19446960/discover/discover.html");
    request->setRequestData("", 1);
    request->setRequestType(CCHttpRequest::kHttpGet);
    request->setResponseCallback(this, httpresponse_selector(OnlineController::_onServerDiscovered));
    CCHttpClient::getInstance()->send(request);
}
예제 #4
0
파일: Http.cpp 프로젝트: kun-g/client
void Http::sendRequest(const char *data, unsigned length)
{
    CCHttpRequest *pRequest = new CCHttpRequest();
    pRequest->setUrl(mURL.c_str());
    pRequest->setRequestType(CCHttpRequest::kHttpPost);
    pRequest->setResponseCallback(this, httpresponse_selector(Http::recvResponse));
    pRequest->setRequestData(data, length);
    CCHttpClient::getInstance()->send(pRequest);
    pRequest->release();
}
void YHHttpClient::sendData(YHByteArray * bytes, CCHttpRequest::HttpRequestType type)
{
	CCHttpRequest * request = new CCHttpRequest();
	request->setRequestType(type);
	request->setUrl(m_url.c_str());
	request->setRequestData((const char *)bytes->getBuffer(), bytes->readableBytes());
	request->setResponseCallback(this, httpresponse_selector(YHHttpClient::onResponseCallBack));
	m_httpClient->send(request);
	request->release();
}
	void send(const char* buffer = NULL){
		if(m_request != NULL){
			if(NULL != buffer){
				m_request->setRequestData(buffer, sizeof buffer);
			}
			m_request->setHeaders(m_headers);
			CCHttpClient::getInstance()->send(m_request);
			CC_SAFE_RELEASE_NULL(m_request);
			m_headers.clear();
		}
	};
void OnlineController::_loadLeaderboard(float)
{
    CCLog("== loading leaderboard");
    CCHttpRequest* request = new CCHttpRequest;
    std::string adr = m_server + "/get";
    request->setUrl(adr.c_str());
    request->setRequestData("", 1);
    request->setRequestType(CCHttpRequest::kHttpGet);
    request->setResponseCallback(this, httpresponse_selector(OnlineController::_onLeaderboardLoaded));
    CCHttpClient::getInstance()->send(request);
}
예제 #8
0
void HttpClientTest::onMenuPutTestClicked(CCObject *sender)
{
    // test 1
    {
        CCHttpRequest* request = new CCHttpRequest();
        request->setUrl("http://httpbin.org/put");
        request->setRequestType(CCHttpRequest::kHttpPut);
        request->setResponseCallback(this, httpresponse_selector(HttpClientTest::onHttpRequestCompleted));

        // write the post data
        const char* postData = "visitor=cocos2d&TestSuite=Extensions Test/NetworkTest";
        request->setRequestData(postData, strlen(postData));

        request->setTag("PUT test1");
        CCHttpClient::getInstance()->send(request);
        request->release();
    }

    // test 2: set Content-Type
    {
        CCHttpRequest* request = new CCHttpRequest();
        request->setUrl("http://httpbin.org/put");
        request->setRequestType(CCHttpRequest::kHttpPut);
        std::vector<std::string> headers;
        headers.push_back("Content-Type: application/json; charset=utf-8");
        request->setHeaders(headers);
        request->setResponseCallback(this, httpresponse_selector(HttpClientTest::onHttpRequestCompleted));

        // write the post data
        const char* postData = "visitor=cocos2d&TestSuite=Extensions Test/NetworkTest";
        request->setRequestData(postData, strlen(postData));

        request->setTag("PUT test2");
        CCHttpClient::getInstance()->send(request);
        request->release();
    }

    // waiting
    m_labelStatusCode->setString("waiting...");
}
예제 #9
0
	void NetHttpReqRaw(string url,string data,string type,string tag)
	{
		CCHttpRequest* request = new CCHttpRequest();
		request->setUrl(url.c_str());
		request->setTag(tag.c_str());
		if(type=="post"){
			request->setRequestType(cocos2d::extension::CCHttpRequest::kHttpPost);
			request->setRequestData(data.c_str(),data.length());
		}else{
			request->setRequestType(cocos2d::extension::CCHttpRequest::kHttpGet);
		}
		CCHttpClient::getInstance()->send(request);
	}
예제 #10
0
void RankScene::unlockHeroHTTP(int _HeroIndex){
    
    MessageBox = AsMessageBox::createMessageBox("通信中,请稍候", 1, 0);
    MessageBox->setPosition(CCPointZero);
    addChild(MessageBox,1000);
    
    CCHttpRequest* request = new CCHttpRequest();
    request->setUrl("http://115.29.168.228/roles");
    request->setRequestType(CCHttpRequest::kHttpPost);
    request->setResponseCallback(this, callfuncND_selector(RankScene::unlockHeroRequestCompleted));
    string postDataStr = "role[avatar_id]=" + int2string(_HeroIndex) + "&role[level]=" + int2string(0) + "&token=" + MainUser->UserTokenStr;
    request->setRequestData(postDataStr.c_str(), postDataStr.length());
    CCHttpClient::getInstance()->send(request);
    request->release();
}
예제 #11
0
void CommandManager::doSend(Command* command)
{
    m_currentCommand = command;
    
    CCHttpRequest* request = new CCHttpRequest();
    
    request->setRequestType(CCHttpRequest::kHttpPost);
    request->setUrl(Command::URL.c_str());
    
    const vector<char>& data = command->getData();
    
    request->setRequestData(&data[0], data.size());
    request->setResponseCallback(this, httpresponse_selector(CommandManager::onResponse));
    
    CCHttpClient::getInstance()->send(request);
}
예제 #12
0
void XMLHttpRequest::send(std::string param){
    readyState = 1;
    CCHttpRequest *request = new CCHttpRequest();
    request->setUrl(reqUrl.c_str());
    request->setRequestType(CCHttpRequest::kHttpGet);
    
//    std::vector<std::string> headers;
//    headers.push_back("Content-Type: application/json; charset=utf-8");
//    request->setHeaders(headers);
    
    request->setResponseCallback(this, callfuncND_selector(XMLHttpRequest::onHttpRequestCompleted));
    request->setRequestData(param.c_str(), strlen(param.c_str()));
    request->setTag("wx");
    CCHttpClient::getInstance()->send(request);
    request->release();
    readyState = 3;
}
예제 #13
0
void HttpClientTest::onMenuPostBinaryTestClicked(cocos2d::CCObject *sender)
{
    CCHttpRequest* request = new CCHttpRequest();
    request->setUrl("http://httpbin.org/post");
    request->setRequestType(CCHttpRequest::kHttpPost);
    request->setResponseCallback(this, httpresponse_selector(HttpClientTest::onHttpRequestCompleted));
    
    // write the post data
    char postData[22] = "binary=hello\0\0cocos2d";  // including \0, the strings after \0 should not be cut in response
    request->setRequestData(postData, 22); 
    
    request->setTag("POST Binary test");
    CCHttpClient::getInstance()->send(request);
    request->release();
    
    // waiting
    m_labelStatusCode->setString("waiting...");
}
예제 #14
0
void HttpClientTest::onMenuPostTestClicked(cocos2d::CCObject *sender)
{
    CCHttpRequest* request = new CCHttpRequest();
    request->setUrl("http://www.httpbin.org/post");
    request->setRequestType(CCHttpRequest::kHttpPost);
    request->setResponseCallback(this, callfuncND_selector(HttpClientTest::onHttpRequestCompleted));
    
    // write the post data
    const char* postData = "visitor=cocos2d&TestSuite=Extensions Test/NetowrkTest";
    request->setRequestData(postData, strlen(postData)); 
    
    request->setTag("POST test");
    CCHttpClient::getInstance()->send(request);
    request->release();
    
    // waiting
    m_labelStatusCode->setString("waiting...");
}
예제 #15
0
void LoginLayer::touchUpInside(CCObject* pSender, CCControlEvent event) {
//	CCLog("size(%d, %d)", strlen(m_pNameBox->getText()),
//			strlen(m_pPasswordBox->getText()));

	if (strlen(m_pNameBox->getText()) > 0
			&& strlen(m_pPasswordBox->getText()) > 0) {
		string str;
		str.append(m_pNameBox->getText());
		CCUserDefault::sharedUserDefault()->setStringForKey("UserName",
				m_pNameBox->getText());
		CCUserDefault::sharedUserDefault()->flush();
		CCDirector::sharedDirector()->replaceScene(
				CCTransitionFade::create(0.5, HelloWorld::scene()));
	}

	CCHttpRequest* request = new CCHttpRequest();
	const char *uname = m_pNameBox->getText();
	string url = "127.0.0.1:80/index.html?";

	string postData = "username="******"&password="******"GetType data : %s", (url + postData).c_str());
		request->setRequestType(CCHttpRequest::kHttpGet);
		request->setTag("GET test");
	} else {
		request->setUrl(url.c_str());
		request->setRequestType(CCHttpRequest::kHttpPost);
		request->setRequestData(postData.c_str(), postData.size());
		CCLOG("GetType data : %s", postData.c_str());
		request->setTag("POST test");
	}
	request->setResponseCallback(this,
			httpresponse_selector(LoginLayer::onHttpRequestCompleted));
	CCHttpClient::getInstance()->send(request);
	request->release();	
	m_pSendButton->setEnabled(false);
}
예제 #16
0
void GameState::sendPostHttp(CCObject* sender)
{
	CCHttpRequest* request = new CCHttpRequest();
	request->setUrl("http://deploydjango1.herokuapp.com");

	request->setRequestType(CCHttpRequest::kHttpPost);
	std::vector<std::string> headers;
	
	headers.push_back("Content-Type: application/json; charset=utf-8");
	request->setHeaders(headers);
	
	const char* postData = "text=12";
	request->setRequestData(postData,strlen(postData));
	request->setTag("text");

	CCHttpClient::getInstance()->send(request); //보내고 나서
	request->setResponseCallback(this,callfuncND_selector(GameState::onHttpRequestCompleted));//받습니다
	
	request->release();
}
예제 #17
0
void TestLayer::btncallback( CCObject* pSender )
{
	bool requestType_is_get=true;//采用get方式或者post方式
	if (requestType_is_get)
	{
		CCHttpRequest* request = new CCHttpRequest();//创建请求对象
		string str1 = "127.0.0.1:80/index.html?";
		string str2 = p_User_EditBox->getText();//获取username编辑框内容
		string str3 = p_Psw_EditBox->getText();//获取password编辑框内容
		string struser="******";
		string strpsw="&password="******"GET test");
		CCHttpClient::getInstance()->send(request);//发送请求
		request->release();//释放请求
	}
	else
	{
		CCHttpRequest* request = new CCHttpRequest();//创建请求对象
		string str1 = "127.0.0.1:80/index.html";
		string str2 = p_User_EditBox->getText();
		string str3 = p_Psw_EditBox->getText();
		string struser="******";
		string strpsw="&password="******"POST test");
		CCHttpClient::getInstance()->send(request);//发送请求
		request->release();//释放请求
	}
}
예제 #18
0
void DataRequest::load(std::string url)
{
    if (url[url.size() - 1] != '?')
    {
        url.append("?");
    }
    
    const char *postData = getRequestString()->getCString();
    url.append(postData);
    CCLog("%s", url.c_str());
    CCHttpRequest *pReq = new CCHttpRequest();
    pReq->setUrl(url.c_str());
    pReq->setRequestType(CCHttpRequest::kHttpPost);
    pReq->setResponseCallback(this, callfuncND_selector(DataRequest::onHttpRequestCompleteHandler));
    pReq->setRequestData(postData, strlen(postData));
    std::vector<std::string> headers;
    headers.push_back("Content-Type: application/json; charset=utf-8");
    //pReq->setHeaders(headers);
    CCHttpClient::getInstance()->send(pReq);
    pReq->release();
}
예제 #19
0
void HttpCenter::request(const char* pszUrl, const char* pszNotifyName, CCHttpRequest::HttpRequestType eType /* = CCHttpRequest::kHttpGet */, const char* reqData /* = NULL */)
{
    if (!pszUrl) return;
    
    CCHttpRequest* request = new CCHttpRequest;
    
    request->setRequestType(eType);
    request->setUrl(pszUrl);
    request->setResponseCallback(this, httpresponse_selector(HttpCenter::onHttpRequestCompleted));
    if (reqData)
    {
        request->setRequestData(reqData, strlen(reqData));
        CCLOG("request:%s", reqData);
    }
    if (pszNotifyName)
        request->setTag(pszNotifyName);
    
    // Send HttpRequest
    CCHttpClient::getInstance()->send(request);
    
    request->release();
}
예제 #20
0
void SGHttpClient::postData(SGRequestData *data,bool isShowCon)
{
    if ( isShowCon )
        SGMainManager::shareMain()->getMainScene()->plat->showConnection();
    
    CCHttpRequest* request = new CCHttpRequest();
    request->setUrl(GlobalConfig::gi()->getAuthUrl().c_str());
    request->setRequestType(CCHttpRequest::kHttpPost);
    request->setRequestData(data->getRequestData(), data->getRequestLength());
    CCHttpClient::getInstance()->setTimeoutForConnect(20);
    int _tag = 0;
    char ctag = data->getMsgId();
    
    memcpy(&_tag, &ctag, 1);
    
    char requestTag[1];
    sprintf(requestTag, "%d",_tag);
    request->setTag(requestTag);
    
    request->setResponseCallback(this, callfuncND_selector(SGHttpClient::requestFinishHandler));
    CCHttpClient::getInstance()->send(request);
    request->release();
}
예제 #21
0
/// communication
ParseError* ParseManager::request(CCHttpRequest::HttpRequestType op, 
								  const std::string &url, 
								  const char* buffer,
								  size_t size,
								  CCObject *receiver, 
								  SEL_CallFuncND selector,
								  const char* contentType,
								  bool setMasterKey,
								  void* param)
{
	ParseError* error = NULL;

	CCHttpRequest* request = new CCHttpRequest();

	std::vector<std::string> headers;

	request->setRequestType(op);

	std::string fullUrl;
	if (strncmp(url.c_str(), "http", 4) != 0)
	{
		fullUrl = "https://api.parse.com" + url;
	}
	else
	{
		fullUrl = url;
	}

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

	request->setResponseCallback(receiver, selector);

	request->setUserData(param);

	CCHttpClient* client = CCHttpClient::getInstance();


	if (contentType)
	{
		headers.push_back(contentType);
	}
	switch(op)
	{
		case CCHttpRequest::kHttpGet:
			if (size > 0)
			{
				char* condition = curl_escape(buffer, size);
				request->setUrl((fullUrl + "?" + condition).c_str());
			}
			break;
		case CCHttpRequest::kHttpPost:
			if (contentType == 0)
			{
				headers.push_back("Content-Type: application/json");
			}
			if (size > 0)
			{
				request->setRequestData(buffer, size);
			}
			break;
		case CCHttpRequest::kHttpPut:
			if (contentType == 0)
			{
				headers.push_back("Content-Type: application/json");
			}
			if (size > 0)
			{
				request->setRequestData(buffer, size);
			}
			break;
		case CCHttpRequest::kHttpDelete:
			break;
	}

	headers.push_back(std::string("X-Parse-Application-Id: ") + this->_applicationId);
	if (setMasterKey)
	{
		headers.push_back(std::string("X-Parse-Master-Key: ") + this->_masterKey);
	}
	else
	{
		headers.push_back(std::string("X-Parse-REST-API-Key: ") + this->_apiKey);
	}
	request->setHeaders(headers);

	client->send(request);

	request->release();

	return error;
}
예제 #22
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }

    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

	/////////////////////////////
    // 2. add a menu item with "X" image, which is clicked to quit the program
    //    you may modify it.

    // add a "close" icon to exit the progress. it's an autorelease object
    MenuItemImage *closeItem = MenuItemImage::create(
                                        "CloseNormal.png",
                                        "CloseSelected.png",
                                        CC_CALLBACK_1(HelloWorld::menuCloseCallback,this));
    
	closeItem->setPosition(Point(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,
                                origin.y + closeItem->getContentSize().height/2));

    // create menu, it's an autorelease object
    Menu* pMenu = Menu::create(closeItem, NULL);
    pMenu->setPosition(Point::ZERO);
    this->addChild(pMenu, 1);

    /////////////////////////////
    // 3. add your codes below...

    // add a label shows "Hello World"
    // create and initialize a label
    
    LabelTTF* pLabel = LabelTTF::create("Hello World", "Arial", TITLE_FONT_SIZE);
    
    // position the label on the center of the screen
    pLabel->setPosition(Point(origin.x + visibleSize.width/2,
                            origin.y + visibleSize.height - pLabel->getContentSize().height));

    // add the label as a child to this layer
    this->addChild(pLabel, 1);

    // add "HelloWorld" splash screen"
    Sprite* pSprite = Sprite::create("HelloWorld.png");

    // position the sprite on the center of the screen
    pSprite->setPosition(Point(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

    // add the sprite as a child to this layer
    this->addChild(pSprite, 0);

	// initialize flash
    tinyswf::SWF::initialize(CCFlashLoadAsset, 256*1024); // 256kB buffer for libtess2
	tinyswf::Renderer::setInstance(new CCFlashRenderer);
	tinyswf::FontHandler::setInstance(new CCFlashFontHandler);
    CCFlash* pFlash = CCFlash::create("test.swf");
	pFlash->scheduleUpdate();
	this->addChild(pFlash,1);

	pFlash->getSWF()->get<tinyswf::Text>("_text")->setString(
		"<p>test<font color='#ff0000'>1234</font>hello world</p><p>font <font color='#00ffff'>color</font> test</p>");

#ifdef USE_HTTP
	CCHttpRequest* request = new CCHttpRequest();
	request->setUrl("https://localhost/codeigniter/user/login");
	request->setRequestType(CCHttpRequest::kHttpPost);
	request->setResponseCallback(this, httpresponse_selector(HelloWorld::onHttpRequestCompleted));
	request->setTag("POST login");

	std::string uuid;
	getUUID(uuid);
	std::string post = "uuid="+uuid;
	request->setRequestData(post.c_str(), post.length()); 

	CCHttpClient::getInstance()->send(request);
	request->release();
#endif
    return true;
}