亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

吴旗县| 澄迈县| 洪雅县| 确山县| 孟津县| 九江县| 芦溪县| 巴林左旗| 页游| 镇雄县| 靖安县| 石楼县| 蒙山县| 林口县| 长顺县| 五大连池市| 景泰县| 苏州市| 禹州市| 青冈县| 武平县| 长寿区| 博乐市| 任丘市| 台州市| 同江市| 香河县| 宁河县| 黄浦区| 武城县| 鄱阳县| 磐石市| 凌源市| 阜平县| 贵阳市| 昭觉县| 泸定县| 龙南县| 河津市| 重庆市| 江山市|