91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

libcurl第十課 HTTPS交互

發布時間:2020-06-04 20:57:16 來源:網絡 閱讀:733 作者:fengyuzaitu 欄目:軟件技術

場景
?????? 跟樂橙云訪問,需要使用HTTPS協議


額外配置,否則執行返回CURLE_UNSUPPORTED_PROTOCOL錯誤
1)libcurl版本升級到7.61.0版本
2)libcurl項目屬性中預編譯器添加USE_WINDOWS_SSPI 以及 USE_SCHANNEL
3)在引用項目的屬性中添加額外的靜態庫Crypt32.lib,Wldap32.lib
? ?

代碼

size_t CLeChengIPC::WriteResponseBody(void *ptr, size_t size, size_t nmemb, void *userData)
{
?std::string* pStrBuffer = (std::string*)userData;
?size_t nLen = size * nmemb;
?pStrBuffer->append((char*)ptr, nLen);
?return nLen;
}

int CLeChengIPC::CommunicateWithServerUsingHTTPS(const std::string &strPostData, const std::string &strUrl, std::string &strResponseData)
{
?CURL *pCurlHandle = curl_easy_init();
?curl_easy_setopt(pCurlHandle, CURLOPT_CUSTOMREQUEST, "POST");
?curl_easy_setopt(pCurlHandle, CURLOPT_URL, strUrl.c_str());
?curl_easy_setopt(pCurlHandle, CURLOPT_WRITEFUNCTION, WriteResponseBody);//設置回調函數
?curl_easy_setopt(pCurlHandle, CURLOPT_HEADER, 1);//保存HTTP頭部信息到strResponseData
?curl_easy_setopt(pCurlHandle, CURLOPT_WRITEDATA, &strResponseData);//設置回調函數的參數,獲取反饋信息
?curl_easy_setopt(pCurlHandle, CURLOPT_TIMEOUT, 15);//接收數據時超時設置,如果10秒內數據未接收完,直接退出
?curl_easy_setopt(pCurlHandle, CURLOPT_MAXREDIRS, 1);//查找次數,防止查找太深
?curl_easy_setopt(pCurlHandle, CURLOPT_CONNECTTIMEOUT, 5);//連接超時,這個數值如果設置太短可能導致數據請求不到就斷開了
?curl_easy_setopt(pCurlHandle, CURLOPT_SSL_VERIFYPEER, false);//設定為不驗證證書和HOST
?curl_easy_setopt(pCurlHandle, CURLOPT_SSL_VERIFYHOST, false);
?curl_easy_setopt(pCurlHandle, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
?curl_easy_setopt(pCurlHandle, CURLOPT_POSTFIELDS, strPostData.c_str());
?CURLcode nRet= curl_easy_perform(pCurlHandle);
?curl_easy_cleanup(pCurlHandle);
?return nRet;
}

注意
enum {
? CURL_SSLVERSION_DEFAULT,
? CURL_SSLVERSION_TLSv1, /* TLS 1.x */
? CURL_SSLVERSION_SSLv2,
? CURL_SSLVERSION_SSLv3,
? CURL_SSLVERSION_TLSv1_0,
? CURL_SSLVERSION_TLSv1_1,
? CURL_SSLVERSION_TLSv1_2,
? CURL_SSLVERSION_TLSv1_3,
? CURL_SSLVERSION_LAST /* never use, keep last */
};
? CURL_SSLVERSION_SSLv2和CURL_SSLVERSION_SSLv3兩個宏定義不能使用,否則返回錯誤CURLE_SSL_CONNECT_ERROR,建議使用CURL_SSLVERSION_TLSv1_2宏定義

修訂
2019/7/8 使用CURL_SSLVERSION_SSLv2導致CURLE_SSL_CONNECT_ERROR異常問題記錄


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭阳县| 青岛市| 延庆县| 阿克| 吉林省| 陆良县| 阜新| 慈溪市| 望奎县| 炉霍县| 壤塘县| 盐山县| 塘沽区| 陵川县| 蓬莱市| 忻城县| 汝州市| 页游| 贞丰县| 禹城市| 隆尧县| 息烽县| 富阳市| 伊宁市| 东光县| 嘉禾县| 永德县| 娄烦县| 涿鹿县| 曲沃县| 专栏| 海晏县| 华亭县| 灵台县| 定边县| 永定县| 德化县| 景宁| 宜丰县| 宿迁市| 龙州县|