关于cocos2dx的网络请求地址带参数的解决

    auto request = new HttpRequest();

    std::string  keychain_url = FormatFunc::format(const_cast<char*>("%s%s app_key=%s&latitude=%f&longitude=%f&UUID=%s&registration=%s"), MAIN_URL, UPLOAD_LOCATION_URL,APP_KEY,latitudevalue, longitudevalue, uuidstr.c_str(),registrationstr.c_str());

    

    //带参数的url需要转码 URL不包含ASCII字符集的字符不,这些字符必须转义

    NSString *str= [NSString stringWithCString:keychain_url.c_str() encoding:[NSString defaultCStringEncoding]];

    NSString *escapedPath = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

    std::string  strFaceName=  [escapedPath UTF8String];

    request->setUrl(strFaceName);

    request->setRequestType(HttpRequest::Type::GET);

    request->setResponseCallback(CC_CALLBACK_2(AppDelegate::LoactionResponse, this));

    request->setTag("getHttp_Loaction");

    HttpClient::getInstance()->send(request);

    request->release();

 

posted @ 2017-12-27 09:39  六界剑仙  阅读(104)  评论(0)    收藏  举报