欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

libcurl的編譯安裝和使用方法

這篇文章主要介紹“l(fā)ibcurl的編譯安裝和使用方法”,在日常操作中,相信很多人在libcurl的編譯安裝和使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”libcurl的編譯安裝和使用方法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

站在用戶的角度思考問題,與客戶深入溝通,找到柯城網(wǎng)站設(shè)計(jì)與柯城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋柯城地區(qū)。

下載libcurl:

https://github.com/curl/curl

libcurl官方指導(dǎo):

https://curl.se/

編譯libcurl:

編譯步驟:
wanglc@wanglc-VirtualBox:~/Downloads$ unzip curl-master.zip
wanglc@wanglc-VirtualBox:~/Downloads$ cd curl-master/
wanglc@wanglc-VirtualBox:~/Downloads$ ./buildconf
wanglc@wanglc-VirtualBox:~/Downloads$ ./configure
wanglc@wanglc-VirtualBox:~/Downloads$ ./make
wanglc@wanglc-VirtualBox:~/Downloads$ sudo make install (默認(rèn)安裝到/usr/local目錄下)

編譯之后的頭文件:
wanglc@wanglc-VirtualBox:~/Downloads/curl-master/include/curl$ pwd
/home/wanglc/Downloads/curl-master/include/curl
wanglc@wanglc-VirtualBox:~/Downloads/curl-master/include/curl$ ls
curl.h  curlver.h  easy.h  Makefile  Makefile.am  Makefile.in  mprintf.h  multi.h  options.h  stdcheaders.h  system.h  typecheck-gcc.h  urlapi.h
wanglc@wanglc-VirtualBox:~/Downloads/curl-master/include/curl$ 

編譯之后的庫文件:
wanglc@wanglc-VirtualBox:~/Downloads/curl-master/lib/.libs$ ls -l libcurl.so*
lrwxrwxrwx 1 wanglc wanglc     16 4月  15 22:19 libcurl.so -> libcurl.so.4.7.0
lrwxrwxrwx 1 wanglc wanglc     16 4月  15 22:19 libcurl.so.4 -> libcurl.so.4.7.0
-rwxrwxr-x 1 wanglc wanglc 499648 4月  15 22:19 libcurl.so.4.7.0
wanglc@wanglc-VirtualBox:~/Downloads/curl-master/lib/.libs$ 

安裝后的頭文件:
wanglc@wanglc-VirtualBox:/usr/local/include/curl$ ls
curl.h  curlver.h  easy.h  mprintf.h  multi.h  options.h  stdcheaders.h  system.h  typecheck-gcc.h  urlapi.h
wanglc@wanglc-VirtualBox:/usr/local/include/curl$ pwd
/usr/local/include/curl
wanglc@wanglc-VirtualBox:/usr/local/include/curl$ cd ..

安裝的庫文件:
wanglc@wanglc-VirtualBox:/usr/local/lib$ ls
cmake      libcurl.la  libcurl.so.4      libjsoncpp.a   libjsoncpp.so.1.9.4  libprotobuf.la       libprotobuf-lite.so     libprotobuf-lite.so.26.0.0  libprotobuf.so.26      objects-Release  python3.8
libcurl.a  libcurl.so  libcurl.so.4.7.0  libjsoncpp.so  libjsoncpp.so.24     libprotobuf-lite.la  libprotobuf-lite.so.26  libprotobuf.so              libprotobuf.so.26.0.0  pkgconfig
wanglc@wanglc-VirtualBox:/usr/local/lib$ ls -l libcurl.so*
lrwxrwxrwx 1 root root     16 4月  15 22:25 libcurl.so -> libcurl.so.4.7.0
lrwxrwxrwx 1 root root     16 4月  15 22:25 libcurl.so.4 -> libcurl.so.4.7.0
-rwxr-xr-x 1 root root 499648 4月  15 22:25 libcurl.so.4.7.0
wanglc@wanglc-VirtualBox:/usr/local/lib$ pwd
/usr/local/lib
wanglc@wanglc-VirtualBox:/usr/local/lib$

libcurl http get編程:

#include <curl/curl.h>

// size_t write_callback(char* ptr, size_t size, size_t nmemb, void *userdata)
// FILE* fp;

1. 創(chuàng)建CURL變量
CURL* curl = nullptr;

2. 初始化CURL變量
curl = curl_easy_init();
if (curl == nullptr)
{
    return;
}

3. 設(shè)置CURL選項(xiàng)
curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com"); // 默認(rèn)為get請(qǐng)求,get請(qǐng)求的參數(shù)是表單參數(shù),直接寫在網(wǎng)址后面即可。

// 設(shè)置處理響應(yīng)數(shù)據(jù)的回調(diào)
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); // fp作為write_callback的userdata參數(shù)傳入。

4. 執(zhí)行CURL請(qǐng)求(默認(rèn)是同步執(zhí)行)
CURLcode res;
res = curl_easy_perfom(curl);
if (res != CURLE_OK)
{
    curl_easy_strerror(res); // 返回錯(cuò)誤描述字符串,可打印
    curl_easy_cleanup(curl);
    return;
}

5. 清理CURL變量
curl_easy_cleanup(curl);

libcurl http post編程:

#include <curl/curl.h>

// size_t write_callback(char* ptr, size_t size, size_t nmemb, void *userdata)
// FILE* fp;

1. 創(chuàng)建CURL變量
CURL* curl = nullptr;

2. 初始化CURL變量
curl = curl_easy_init();
if (curl == nullptr)
{
    return;
}

3. 設(shè)置CURL選項(xiàng)
curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com"); // 默認(rèn)為get請(qǐng)求
curl_easy_setopt(curl, CURLOPT_POST, 1); // 開啟post請(qǐng)求
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, /*POSTFIELDS字符串的長度*/);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl"); // 字符串,post表單數(shù)據(jù)

// 設(shè)置處理響應(yīng)數(shù)據(jù)的回調(diào)
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); // fp作為write_callback的userdata參數(shù)傳入。

4. 執(zhí)行CURL請(qǐng)求(默認(rèn)是同步執(zhí)行)
CURLcode res;
res = curl_easy_perfom(curl);
if (res != CURLE_OK)
{
    curl_easy_strerror(res); // 返回錯(cuò)誤描述字符串,可打印
    curl_easy_cleanup(curl);
    return;
}

5. 清理CURL變量
curl_easy_cleanup(curl);

libcurl實(shí)現(xiàn)下載文件(get):

參考 https://curl.se/libcurl/c/http2-download.html

#

libcurl實(shí)現(xiàn)上傳文件(post):

參考 https://curl.se/libcurl/c/http2-upload.html

#

全局初始化和全局清理:

curl_global_init(CURL_GLOBAL_ALL)和curl_global_cleanup()

SSL相關(guān)的選項(xiàng):

CURLOPT_SSL_VERIFYPEER

CURLOPT_SSL_VERIFYHOST

CURLOPT_CAPATH

cookie和session:

CURLOPT_COOKIEJAR 保存cookie信息到本地cookie文件。

CURLOPT_COOKIEFILE 讀取本地cookie文件的信息。

添加http header:

struct curl_slist *headers = NULL;

headers = curl_slist_append(headers, “Accept: Agent-007″);

CURLOPT_HTTPHEADER  將headers中的header參數(shù)追加到curl。

CURLOPT_HEADER 非0表示添加header參數(shù)。

curl_slist_free_all 釋放headers關(guān)聯(lián)的內(nèi)存。

其他選項(xiàng)

CURLOPT_POST

CURLOPT_VERBOSE

CURLOPT_FOLLOWLOCATION

CURLOPT_CUSTOMREQUEST

到此,關(guān)于“l(fā)ibcurl的編譯安裝和使用方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

網(wǎng)站名稱:libcurl的編譯安裝和使用方法
分享地址:http://chinadenli.net/article30/gpccpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊云服務(wù)器、Google網(wǎng)站維護(hù)App設(shè)計(jì)、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
欧美成人久久久免费播放| 无套内射美女视频免费在线观看| 黑丝袜美女老师的小逼逼| 精品欧美日韩一二三区| 亚洲一级在线免费观看| 亚洲欧美黑人一区二区| 欧美日韩亚洲国产综合网| 亚洲另类欧美综合日韩精品| 日韩欧美91在线视频| 成人精品网一区二区三区| 亚洲中文字幕高清乱码毛片| 日本久久精品在线观看| 成人午夜爽爽爽免费视频| 在线观看视频日韩成人| 一级片黄色一区二区三区| 日本道播放一区二区三区| 老外那个很粗大做起来很爽| 欧美一区二区三区在线播放| 日韩精品你懂的在线观看| 亚洲午夜av一区二区| 日韩精品少妇人妻一区二区| 日本二区三区在线播放| 丰满人妻少妇精品一区二区三区| 免费在线播放一区二区| 欧美午夜色视频国产精品| 日韩高清一区二区三区四区 | 国产熟女一区二区三区四区| 男女午夜福利院在线观看| 九九热在线免费在线观看| 日韩美女偷拍视频久久| 这里只有九九热精品视频| 女厕偷窥一区二区三区在线| 成年人免费看国产视频| 91亚洲人人在字幕国产| 中文字幕乱码亚洲三区| 麻豆亚州无矿码专区视频| 狠狠干狠狠操亚洲综合| 国产成人精品视频一二区| 好吊妞在线免费观看视频| 国产超碰在线观看免费| 国产午夜福利不卡片在线观看|