curl是利用URL語法在命令行方式下工做的開源文件傳輸工具(來自百度百科)。cURL 是一種簡單有效的工具,能夠使用cURL工具進行WEB相關的調試開發工具,相對於Yeelink這樣的雲平臺,也能夠使用cURL工具查詢或推送數據。 在學習使用cURL工具以前,須要有相關HTTP通訊的知識。
HTTP協議創建在TCP協議之上,包括URL和HTML等內容。就HTTP協議自己而言可分爲:起始行、報文首都、空行和報文主體等部分。
【起始行】
起始行包括HTTP方法、URL和HTTP版本等內容。HTTP方法包括GET和POST等,在cURL語法中可以使用 --request GET或--request POST。
【報文首部】
報文首部包括若干屬性和屬性值。在使用Yeelink平臺時必須制定APIKey。在cURL語法中能夠這樣寫:--header 「 U-ApiKey: [XXXXYYYYZZZZ] 」
【空行】
空行位於報文首部和報文主體之間。
【報文負載】
對於一個瀏覽器來講報文負載即是HTML文本,可是對於Yeelink平臺來講報文負載是一個JSON數據包,JSON數據包可包括傳感器和GPS座標 等。在cURL語法中可寫成:--data "{\"value\",12.3}"。請注意在此處「須要寫成轉義字符的形式\"。
windows
curl --request GET --header "U-ApiKey: [XXXXYYYYZZZZ] " ^
http://api.yeelink.net/v1.0/device/1949/sensor/2511/datapoints
api
圖1 得到開關結果 cURL瀏覽器
圖2 得到開關結果 Http Analyzercurl
curl -i --request POST --data "{\"value\":25}" --header "U-ApiKey: [XXXXYYYYZZZZ] ^
工具
http://api.yeelink.net/v1.0/device/1949/sensor/2510/datapoints學習
圖3 推送傳感器數據 cURL開發工具
圖4 推送傳感器數據 Http Analyzerurl
lng表明經度,lat表明緯度和speed表明對地速度。spa
curl -i --request POST --data "{ \"value\": {\"lng\":120.2913397511,\"lat\":31.5404543824,\"speed\":12.3} }" ^
--header "U-ApiKey: [XXXXYYYYZZZZ] " http://api.yeelink.net/v1.0/device/1949/sensor/9980/datapoints
curl -i --request POST --data "{ \"value\": {\"lng\":120.3734,\"lat\":31.4895,\"speed\":12.3} }" ^
--header "U-ApiKey: [XXXXYYYYZZZZ] " http://api.yeelink.net/v1.0/device/1949/sensor/9980/datapoints
.net
圖5 推送GPS數據 cURL
圖6 推送GPS數據 Http Analyzer
【小技巧】windows中的控制檯使用中 ^ 符號具備續行做用。
【小技巧】curl -i 選項能夠顯示http響應的報文首部,對於推送傳感器或GPS數據有幫助。
cURL是一種靈活有效的調試工具。