溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

libcurl該如何分析

發(fā)布時(shí)間:2022-01-07 21:11:47 來源:億速云 閱讀:202 作者:柒染 欄目:軟件技術(shù)

libcurl該如何分析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。


1. libcurl介紹
     libcurl是一個(gè)免費(fèi),易用的客戶端傳輸庫(kù),支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP等協(xié)議。libcurl支持SSL認(rèn)證,HTTP POST, HTTP PUT, FTP 上傳, HTTP form based upload, proxies, cookies,用戶名+密碼認(rèn)證(Basic, Digest, NTLM, Negotiate, Kerberos),文件斷點(diǎn)續(xù)傳,http 代理轉(zhuǎn)發(fā)。

相比于Boost asio網(wǎng)絡(luò)庫(kù),具有如下的優(yōu)點(diǎn)
1)超時(shí)時(shí)間設(shè)置簡(jiǎn)單
2)HTTP的摘要認(rèn)證已經(jīng)實(shí)現(xiàn)
3)HTTPS支持的很好
4)HTTP交互實(shí)現(xiàn)的非常好

2. 編譯靜態(tài)庫(kù)
     下載了curl-7.61.0源碼壓縮包,解壓之后,進(jìn)入projects\Windows有VS各個(gè)版本的解決方案,目前使用的是VS2015,進(jìn)入VC14文件夾,里面有l(wèi)ib文件夾,該文件夾里面包含了一個(gè)libcurl的解決方案和一個(gè)libcurl現(xiàn)有項(xiàng)目(該項(xiàng)目將會(huì)加入到實(shí)際的解決方案中)。src文件夾包含了一系列工具生成方案。 默認(rèn)情況下,會(huì)編譯所有支持的協(xié)議進(jìn)靜態(tài)庫(kù)。通過宏定義HTTP_ONLY,僅將HTTP,HTTPS編譯到靜態(tài)庫(kù)中

3.HTTPS支持
     curl-7.32.0(2013-08-12 00:17)版本不支持HTTPS,因此需要升級(jí)到curl-7.61.0(2018-07-11 08:01)版本。
目前在進(jìn)行HTTPS開發(fā)的時(shí)候,遇到curl_easy_perform函數(shù)執(zhí)行之后,返回CURLE_UNSUPPORTED_PROTOCOL錯(cuò)誤,
使用的SSL代碼協(xié)議是curl_easy_setopt(hnd, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);

小知識(shí)
    curl 命令行依賴 openssl 庫(kù)才能使用 ssl 和 TLS。當(dāng)前一般認(rèn)為 TLSv1.1 及 TLSv1.2 才是安全的,很多 https 服務(wù)器僅支持這2個(gè)協(xié)議,不再支持 TLSv1.0 及 ssl。但是 openssl 是從 1.0.1 才支持 TLSv1.1 及 TLSv1.2。
當(dāng)在代碼中只是出現(xiàn)如下的SSL定義的宏
enum {
  CURL_SSLVERSION_DEFAULT,
  CURL_SSLVERSION_TLSv1,
  CURL_SSLVERSION_SSLv2,
  CURL_SSLVERSION_SSLv3,
  CURL_SSLVERSION_LAST /* never use, keep last */
};
說明該版本不支持HTTPS協(xié)議,需要升級(jí)curl版本

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI