前言html
curl是一個開源項目,名字的含義是客戶端(client)的URL工具的意思。主要的產品是curl(命令行工具)和libcurl(C語言的API庫),二者功能均是:基於網絡協議,對指定URL進行網絡傳輸。ubuntu
curl是強大的網絡協議傳輸工具,它支持http/https/ftp等協議,還支持POST、cookies、認證、斷點續傳、指定user-agent、限制下載速度和文件大小、傳輸進度條等等功能,涉及任何網絡協議傳輸,不涉及對具體數據的具體處理(如:html的渲染等)。curl在命令行或腳本中用於傳輸數據,用於汽車、電視機、路由器、打印機、音頻設備、手機、平板電腦、機頂盒、媒體播放器等等設備中,是天天影響數十億人口的互聯網傳輸基礎軟件。cookie
基於CortexA7架構 i.MX6UL設計的FETMX6UL-C核心板應用場景比較多,客戶的需求也各不相同。本文將結合操做實例,分享FETMX6UL-C支持curl軟件的方法。網絡
前期準備架構
在移植curl以前須要準備如下工具:curl
i.MX6UL開發環境:Ubuntu12.04 x32 (下載地址在文末)ide
libcurl的安裝包:curl-7.67.0.tar.gz(官網下載的最新版,官網地址在文末提供)工具
交叉編譯環境:根據安裝時的配置而不一樣,大部分都在/opt下或者~/opt下(本文的交叉編譯環境位置:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin)。交叉編譯工具鏈使用的是linaro的4.6.2版本,在i.MX6UL開發資料中有提供。如下是目錄下的內容:測試
操做步驟url
進入到解壓文件夾:
編譯器配置,(其中--profix參數是指軟件最終編譯生成的位置,本文設置的路徑爲:/home/bk/work/libcurl目錄下),指令執行後會配置編譯器:
使用交叉編譯工具鏈編譯:
執行以下命令編譯安裝到步驟3中指定的位置。注意:本步驟會有多出錯誤提示,忽略便可。
打開步驟3中的位置,此時目錄下已經生成以下4個目錄:
將curl命令加入系統環境變量:
在箭頭處加入 :/lib/bin代碼(上圖已經加入),保存退出後命令行輸入sync 命令以後重啓開發板。
重啓開發板後便可輸入curl使用:
測試用例
測試新浪官網,使用命令curl -v www.sina.com
-v
參數能夠顯示一次http通訊的整個過程,包括端口鏈接和http request頭信息。
參考:
Ubuntu下載地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/12.04.5/
curl官網下載地址:https://curl.haxx.se/download.html