【原】cocos2d-x 2.0.4 不支持https协议 CURLE_UNSUPPORTED_PROTOCOL

我们项目组用的cocos2d-x版本还比较老,各种好的功能不能用。

今天就让我遇到一个问题,使用CCHttpClient发送http请求的时候,https协议的不支持,返回失败信息如下

errorcode:CURLE_UNSUPPORTED_PROTOCOL

errormsg:Protocol https not supported or disabled in libcurl

遂把HttpClient的源码读了一遍,收获挺多。下面说我的解决办法

解决办法:

1、

bool configureCURL(CURL *handle)

{

    if (!handle) {

        return false;

    }

    

    int32_t code;

    code = curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, s_errorBuffer);

    if (code != CURLE_OK) {

        return false;

    }

    code = curl_easy_setopt(handle, CURLOPT_TIMEOUT, CCHttpClient::getInstance()->getTimeoutForRead());

    if (code != CURLE_OK) {

        return false;

    }

    code = curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, CCHttpClient::getInstance()->getTimeoutForConnect());

    if (code != CURLE_OK) {

        return false;

    }

    

    //@TODO: gy

    code = curl_easy_setopt(handle, CURLOPT_SSL_VERIFYPEER, 0L);

    if (code != CURLE_OK) {

        return false;

    }

    

    return true;

}

2、把高版本的libcurl库和头文件拷贝替换2.0.4的

  目录:cocos2dx/platform/third_party/ios/

 

你可能感兴趣的:(cocos2d-x)