溫馨提示×

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

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

libcurl第十一課 使用以及注意事項(xiàng)

發(fā)布時(shí)間:2020-10-21 21:12:14 來(lái)源:網(wǎng)絡(luò) 閱讀:355 作者:fengyuzaitu 欄目:軟件技術(shù)

經(jīng)驗(yàn)

1)配合Postman能夠快速的生成例子代碼


2)curl_global_init初始化
如果調(diào)用curl庫(kù)函數(shù)的時(shí)候,沒(méi)有調(diào)用curl_global_init進(jìn)行curl全局變量的初始化,會(huì)在curl_easy_init函數(shù)中,進(jìn)行初始化調(diào)用


3)請(qǐng)求數(shù)據(jù)的時(shí)候,都應(yīng)該攜帶上返回報(bào)文的格式,否則無(wú)法返回有效的數(shù)據(jù)
?struct curl_slist *pCurlHeadList = NULL;
?pCurlHeadList = curl_slist_append(pCurlHeadList, "content-type: application/json");
?curl_easy_setopt(pCurlHandle, CURLOPT_HTTPHEADER, pCurlHeadList);
當(dāng)前在對(duì)接ASP網(wǎng)頁(yè)后端的時(shí)候,必須指定傳輸文本格式


4)libcurl發(fā)送達(dá)到1秒延時(shí)

當(dāng)POST數(shù)據(jù)長(zhǎng)度大于1024字節(jié),libcurl不會(huì)直接發(fā)送POST請(qǐng)求,而是會(huì)分成兩步執(zhí)行:

  1. 發(fā)送一個(gè)請(qǐng)求,該請(qǐng)求頭部包含一個(gè)Expect: 100-continue的字段,用來(lái)詢(xún)問(wèn)server是否愿意接收數(shù)據(jù)

  2. 當(dāng)接收到從server返回的100-continue的應(yīng)答后,才會(huì)真正的發(fā)起POST請(qǐng)求,將數(shù)據(jù)發(fā)送給server.

解決方案

??struct curl_slist *pCurlList = NULL;
??pCurlList = curl_slist_append(pCurlList, "expect: ");
??curl_easy_setopt(pCurlHandle, CURLOPT_HTTPHEADER, pCurlList);


5)返回錯(cuò)誤碼記錄分析

CURLE_COULDNT_CONNECT(7)
connect()的主機(jī)或代理失敗。


CURLE_GOT_NOTHING(52)
服務(wù)器連接成功,但是沒(méi)有從服務(wù)器返回的,和得到什么的情況下,被認(rèn)為是一個(gè)錯(cuò)誤


向AI問(wèn)一下細(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