• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
            簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            curl應(yīng)用總結(jié)(一)

            Posted on 2010-05-24 14:24 S.l.e!ep.¢% 閱讀(4871) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): CURL
            最近開(kāi)發(fā)中用到curl庫(kù),雖然都是很簡(jiǎn)單的應(yīng)用,但對(duì)這個(gè)庫(kù)還是產(chǎn)生了興趣,想學(xué)習(xí)總結(jié)一下。curl庫(kù)功能非常強(qiáng)大,這里主要針對(duì)http應(yīng) 用,尤其是http文件下載做一個(gè)總結(jié)。當(dāng)然了,還是主要針對(duì)Windows系統(tǒng)來(lái)講。

            ??? 本文是第一篇,當(dāng)然要簡(jiǎn)單介紹一下curl,然后說(shuō)一下Windows系統(tǒng)下的編譯安裝,以及對(duì)curl工具的簡(jiǎn)單應(yīng)用。

            ? curl是一個(gè)基于命令行的應(yīng)用工具,提供利用URL標(biāo)準(zhǔn)進(jìn)行文件傳輸?shù)墓δ堋D壳耙呀?jīng)支持非常多的流行的互聯(lián)網(wǎng)協(xié)議,如:FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE等。curl支持SSL認(rèn)證,HTTP POST/PUT,F(xiàn)TP上傳,HTTP上傳、代理、cookies、用戶(hù)+密碼認(rèn)證、文件續(xù)傳、代理管道等一系列強(qiáng)大功能。curl是用C語(yǔ)言寫(xiě)的,但 是綁定了很多開(kāi)發(fā)語(yǔ)言。大體上可以把curl分成命令行工具和libcurl庫(kù)兩個(gè)部分,命令行工具可以直接輸入指令完成相應(yīng)功能,libcurl則是一 個(gè)客戶(hù)端URL傳輸庫(kù),是線程安全且兼容IPv6,可以非常方便地用來(lái)做相關(guān)開(kāi)發(fā)。

            ??? 更多關(guān)于curl的信息可以參考官網(wǎng)http://curl.haxx.se/。 curl的相關(guān)文檔非常全,不得不贊一下。其實(shí)查閱原文文檔是一個(gè)很好的習(xí)慣,而且還是一件很愜意的事情,對(duì)提高英文閱讀能力幫助也很大。

            ??? 從curl官方網(wǎng)站上可以直接下載到編譯好的lib,dll和exe文件,但是自己由源碼編譯安裝curl,也是一件有意思的事情。從網(wǎng)站上下載源碼包, 解壓縮后會(huì)看到根文件目錄下面有很多文件及文件夾。其中的文件是有關(guān)curl項(xiàng)目的介紹、版本變更情況、以及一些有關(guān)配置和編譯的文件;文件夾中比較重要 的有3個(gè):docs、lib和src,docs中包括項(xiàng)目的所有相關(guān)文檔,lib中為libcurl庫(kù)的源碼,src為curl命令行工具的源碼。
            ??? 如果你熟悉MSVS開(kāi)發(fā)環(huán)境的話,那么編譯過(guò)程再簡(jiǎn)單不過(guò)了,因?yàn)樽钚碌腸url源碼包中已經(jīng)自帶了vc6的工程文件,只要高于6.0版本的環(huán)境都可以直 接打開(kāi)工程進(jìn)行編譯鏈接,生成二進(jìn)制文件。整個(gè)solution中包含兩個(gè)project,一個(gè)是libcurl庫(kù),一個(gè)是curl的命令行工具。其 中,curl.exe運(yùn)行是要加載libcurl.dll動(dòng)態(tài)庫(kù)的。另外,自帶的工程設(shè)置中沒(méi)有用到OpenSSL或Zlib這些第三方庫(kù),如果需要用到 相關(guān)擴(kuò)展功能的話,需要配置引用這些庫(kù)文件進(jìn)行編譯。
            ??? 還有一種方式是通過(guò)MSVS命令行的方式進(jìn)行編譯。步驟如下:
            ??? 1、首先要清楚自己安裝的是msvc哪個(gè)版本,目前常見(jiàn)的vc6,vc2003(vc7),vc2005(vc8)和vc2008(vc9),curl源 碼包中都已經(jīng)寫(xiě)好了相應(yīng)的makefile文件,我機(jī)器上裝的是vc2005;
            ??? 2、將vc的安裝目錄的bin文件目錄加到PATH環(huán)境變量中,我機(jī)器上bin的路徑為C:\Program Files\Microsoft Visual Studio 8\VC\bin,這一步主要是為了使我們能夠在任何路徑下運(yùn)行bin路徑下的工具,如后面要用到的編譯工具cl.exe和make工具 nmake.exe;
            ??? 3、在運(yùn)行中啟動(dòng)cmd.exe,在其中運(yùn)行bin目錄下的vcvars32.bat這個(gè)批處理文件,這個(gè)文件中定義了很多vc庫(kù)文件及相關(guān)資源工具的訪 問(wèn)變量,指明了響應(yīng)資源的訪問(wèn)路徑,跟環(huán)境變量的作用相似,但是只作用于當(dāng)前命令行窗口;
            ??? 4、在cmd中進(jìn)入到你要編譯的curl源碼的根文件目錄下,輸入命令“nmake vc”回車(chē),應(yīng)該就會(huì)看到一長(zhǎng)串的編譯信息輸出。結(jié)束后,在lib子目錄下會(huì)生成release文件夾,里面即為編譯后生成的目標(biāo)文件以及靜態(tài)鏈接庫(kù)文件 libcurl.lib,在src子目錄下生成curl.exe可執(zhí)行文件。這一步中需要注意的是根文件目錄下的makefile文件中將vc編譯工具定 義為了vc6,我們應(yīng)該把其中的“VC=vc6”這句改為自己機(jī)器上對(duì)應(yīng)的vc版本。
            ??? 另外,“nmake vc”命令也是沒(méi)有引用任何第三方庫(kù)來(lái)進(jìn)行編譯的,默認(rèn)編譯靜態(tài)鏈接的release版本文件。如果要編譯其他版本或者引用第三方庫(kù)來(lái)進(jìn)行編譯,則要添加 make參數(shù),具體可以參考makefile文件中的配置。
            ??? 以上主要介紹的是在Windows平臺(tái)下用msvc工具編譯curl代碼,其實(shí)curl庫(kù)幾乎可以支持所有常見(jiàn)的操作系統(tǒng),而且支持的編譯工具也很多,如 MingW32、Cygwin、Borland C++等。curl的文檔中寫(xiě)得都非常清楚,這里就不詳細(xì)說(shuō)了。
            ???
            ??? 以上簡(jiǎn)單介紹了curl庫(kù)和在Windows平臺(tái)下用msvc環(huán)境編譯curl執(zhí)行文件的步驟,下一篇中將總結(jié)一些應(yīng)用curl庫(kù)的知識(shí)。

            久久亚洲中文字幕精品一区| 亚洲中文字幕无码久久2017| 香蕉久久一区二区不卡无毒影院| 丁香狠狠色婷婷久久综合| 国产精品一区二区久久精品无码| 看全色黄大色大片免费久久久| 色综合久久中文字幕无码| 久久99国产精品二区不卡| 性做久久久久久久久老女人| 亚洲综合精品香蕉久久网| 国内精品久久久久久久影视麻豆| 色妞色综合久久夜夜| 99久久精品免费观看国产| 狠狠色婷婷久久综合频道日韩 | 久久人妻少妇嫩草AV蜜桃| 久久精品无码专区免费青青| 久久久久久久国产免费看| 国产精品久久午夜夜伦鲁鲁| 一级a性色生活片久久无少妇一级婬片免费放 | 久久久中文字幕| 亚洲中文久久精品无码ww16| 久久久久亚洲AV无码专区网站| 国产精品一久久香蕉国产线看观看 | 91久久精品国产91性色也| 男女久久久国产一区二区三区| 久久国产福利免费| 久久婷婷综合中文字幕| 国产精品久久久福利| 久久棈精品久久久久久噜噜| 久久人人爽人人爽人人片AV麻烦| 久久久噜噜噜久久中文字幕色伊伊| 精品国产一区二区三区久久| 国产精品久久久久久吹潮| 亚洲va久久久噜噜噜久久天堂| 久久综合九色综合网站| 亚洲天堂久久久| 无码人妻久久一区二区三区蜜桃| 偷偷做久久久久网站| 中文字幕无码免费久久| 久久精品无码专区免费东京热| 久久精品国产网红主播|