• <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.¢%

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

            curl應用總結(一)

            Posted on 2010-05-24 14:24 S.l.e!ep.¢% 閱讀(4862) 評論(0)  編輯 收藏 引用 所屬分類: CURL
            最近開發中用到curl庫,雖然都是很簡單的應用,但對這個庫還是產生了興趣,想學習總結一下。curl庫功能非常強大,這里主要針對http應 用,尤其是http文件下載做一個總結。當然了,還是主要針對Windows系統來講。

            ??? 本文是第一篇,當然要簡單介紹一下curl,然后說一下Windows系統下的編譯安裝,以及對curl工具的簡單應用。

            ? curl是一個基于命令行的應用工具,提供利用URL標準進行文件傳輸的功能。目前已經支持非常多的流行的互聯網協議,如:FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE等。curl支持SSL認證,HTTP POST/PUT,FTP上傳,HTTP上傳、代理、cookies、用戶+密碼認證、文件續傳、代理管道等一系列強大功能。curl是用C語言寫的,但 是綁定了很多開發語言。大體上可以把curl分成命令行工具和libcurl庫兩個部分,命令行工具可以直接輸入指令完成相應功能,libcurl則是一 個客戶端URL傳輸庫,是線程安全且兼容IPv6,可以非常方便地用來做相關開發。

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

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

            久久久久99这里有精品10| 亚洲国产成人精品无码久久久久久综合 | 久久久久久无码Av成人影院| 久久久久se色偷偷亚洲精品av| 亚洲精品国产字幕久久不卡 | 久久99精品久久久久久噜噜 | 久久91精品国产91| 久久人妻少妇嫩草AV无码专区| 亚洲精品无码久久久| 亚洲国产成人精品女人久久久 | 久久青青草原国产精品免费| 久久人人爽人人澡人人高潮AV| 亚洲综合熟女久久久30p| 久久综合狠狠色综合伊人| 久久99国产亚洲高清观看首页| 久久亚洲色一区二区三区| 久久99久久无码毛片一区二区| 精品久久国产一区二区三区香蕉| 精品久久人人爽天天玩人人妻 | 久久青草国产手机看片福利盒子| 久久se精品一区精品二区| 亚洲精品国产成人99久久| 亚洲精品乱码久久久久久中文字幕| 国产亚洲精久久久久久无码77777| 亚洲欧美日韩中文久久| 77777亚洲午夜久久多喷| 99久久免费国产精品特黄| 一本久久知道综合久久| 久久精品无码专区免费东京热| 国产一久久香蕉国产线看观看| 精品久久久无码中文字幕| 2021国产精品久久精品| 国产国产成人精品久久| 青春久久| 国内精品久久九九国产精品| 色婷婷噜噜久久国产精品12p| 99精品久久精品一区二区| 四虎国产精品免费久久久| 久久婷婷色综合一区二区| 精品久久久久久| 久久国产劲爆AV内射—百度|