精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

Libcurl筆記一-創(chuàng)新互聯(lián)

一:
1,全局初始化及釋放:
CURLcode curl_global_init(long flags)

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的利州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

flags: CURL_GLOBAL_ALL //初始化所有的可能的調(diào)用。

CURL_GLOBAL_SSL //初始化支持 安全套接字層。

CURL_GLOBAL_WIN32 //初始化win32套接字庫。

CURL_GLOBAL_NOTHING //沒有額外的初始化。

這個函數(shù)只能用一次。(其實在調(diào)用curl_global_cleanup 函數(shù)后仍然可再用)

如果這個函數(shù)在curl_easy_init函數(shù)調(diào)用時還沒調(diào)用,它講由libcurl庫自動調(diào)用,所以多線程下最好主動調(diào)用該函數(shù)以防止在線程中curl_easy_init時多次調(diào)用。

注意:雖然libcurl是線程安全的,但curl_global_init是不能保證線程安全的,所以不要在每個線程中都調(diào)用curl_global_init,應(yīng)該將該函數(shù)的調(diào)用放在主線程中。

void curl_global_cleanup(void)

二:兩種模式
1,
The easy interface is a synchronous, efficient, quickly used and... yes, easy interface for file transfers. Numerous applications have been built using this.
The multi interface is the asynchronous brother in the family and it also offers multiple transfers using a single thread and more. Get a grip of how to work with it in the multi interface overview.

easy interface 同步的快速的,多用于文件傳輸。
multi interface 異步的,支持一個或多個線程里面的多個文件傳輸。

https://curl.haxx.se/libcurl/c/libcurl-easy.html
https://curl.haxx.se/libcurl/c/libcurl-multi.html

三:easy interface
1,初始化下載handle及釋放

CURL *easy_handle =     curl_easy_init();

curl_easy_cleanup(easy_handle);

2,CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);

CURLoption枚舉了curl能做的所有操作。
設(shè)置回調(diào)函數(shù),訪問URL,超時時間,斷點續(xù)傳等。

3,CURLcode curl_easy_perform(CURL * easy_handle );
前面初始化init,屬性steopt設(shè)置好后就調(diào)perform開始執(zhí)行起來。

4,easy interface常用的函數(shù)
curl_easy_init()
curl_easy_cleanup()
curl_easy_setopt()
curl_easy_perform()
curl_easy_getinfo()

While the above functions are the main functions to use in the easy interface, there is a series of other helpful functions too including:

curl_version()

returns a pointer to the libcurl version string

curl_getdate()

converts a date string to time_t

curl_formadd()

build multipart form-data posts

curl_formfree()

free a previously built form POST

curl_slist_append()

builds a linked list

curl_slist_free_all()

frees a whole curl_slist as made with curl_slist_append()

curl_easy_escape()

URL encodes a string

curl_easy_unescape()

URL decodes a string

5,
問題:
1>MCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function _main

1>MCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function _main

解決:
1,C/C++->Preprocessor->Definitions 增加:
BUILDING_LIBCURL HTTP_ONLY或 CURL_STATICLIB CURL_DISABLE_LDAP

2,附加ws2_32.lib和wldap32.lib

6,
上面配置release下沒問題,dubug下會報啟動錯誤!

7,debug下的一些問題
問題:

解決:
上面提示already defined in LIBCMTD,去熟悉里面設(shè)置忽略LIBCMTD
下面根據(jù)列出缺少的函數(shù)名在MSDN搜對應(yīng)的lib添加上

問題:
編譯通過了但是啟動失敗

解決:
去查下提示的manifest文件

左邊的debug的,右邊是release的,按照右邊吧762移到6195上面去。(因為relase啟動沒問題所以我以726版本為準)

Generate Manifest設(shè)為NO防止重編譯又把手動修改后的manifest改回去。

啟動提示缺MSVCR80D.dll,下載一個加上。

然后啟動,運行庫崩潰,算了先用release,libcurld.lib可能有問題后面再編一個。

8,
https://curl.haxx.se/libcurl/c/example.html
官網(wǎng)提供的列子自己編譯運行看下。


當(dāng)前標題:Libcurl筆記一-創(chuàng)新互聯(lián)
標題來源:http://m.jcarcd.cn/article/csjege.html
主站蜘蛛池模板: 欧美性爱免 | 岛国大片在线 | 日韩一三区在 | 国产高清乱伦综合 | 国产夜色精品视频 | 91热爆| 日本欧美国产 | 国产在线观看免费 | 91视频网站免费 | 青青久在线视频 | 日韩中文精品视频 | 91免费国产 | 国产路线1国产 | 国产九九免费视频 | 成人午夜影院在線 | 日本精品三级在线看 | 国产看片短视 | 成人免费观看视频 | 乱伦国产欧美三级 | 企业档案 | 成人影院一区二区 | 成人亚洲在线观看 | 人摸人爱视频 | 91精品国产秘入口 | 午夜成年人视频体验 | 91国高清视频 | 国产在线网 | 欧美在线观看视频 | 国产精品一区欧美日 | 日韩一级一欧美一 | 日韩制服丝袜在线视 | 蜜桃臀aⅴ精品一 | 91大神精品全国 | 国产区福利导航 | 国产精品资源导航 | 九色自拍视频 | 日本男女性生活视频 | 国产自产自拍视频 | 91精品国产色综 | 苹果成人影院在线 | 青青成人福 |