天天看點

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

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}"。請注意在此處“需要寫成轉義字元的形式\"。

curl --request GET --header "U-ApiKey: [XXXXYYYYZZZZ] " ^

http://api.yeelink.net/v1.0/device/1949/sensor/2511/datapoints

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

圖1 獲得開關結果 cURL

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

圖2 獲得開關結果 Http Analyzer

curl -i --request POST --data "{\"value\":25}" --header "U-ApiKey: [XXXXYYYYZZZZ]  ^

http://api.yeelink.net/v1.0/device/1949/sensor/2510/datapoints

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

圖3 推送傳感器資料 cURL

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

圖4 推送傳感器資料 Http Analyzer

lng代表經度,lat代表緯度和speed代表對地速度。

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} }" ^

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

圖5 推送GPS資料 cURL

curl指令通路域名1.前言 3.推送傳感器資料 4.推送GPS資料 5.總結

圖6 推送GPS資料 Http Analyzer

【小技巧】windows中的控制台使用中 ^ 符号具有續行作用。

【小技巧】curl -i 選項可以顯示http響應的封包首部,對于推送傳感器或GPS資料有幫助。

cURL是一種靈活有效的調試工具。

繼續閱讀