http://blog.csdn.net/xukai871105/article/details/17173771
2013
1.前言
curl是利用URL語法在命令行方式下工作的開源文件傳輸工具(來自百度百科)。cURL是一種簡單有效的工具,可以使用cURL工具進(jìn)行WEB相關(guān)的調(diào)試開發(fā)工具,相對于Yeelink這樣的云平臺(tái),也可以使用cURL工具查詢或推送數(shù)據(jù)。在學(xué)習(xí)使用cURL工具之前,需要有相關(guān)HTTP通信的知識。
HTTP協(xié)議建立在TCP協(xié)議之上,包括URL和HTML等內(nèi)容。就HTTP協(xié)議本身而言可分為:起始行、報(bào)文首都、空行和報(bào)文主體等部分。
【起始行】
起始行包括HTTP方法、URL和HTTP版本等內(nèi)容。HTTP方法包括GET和POST等,在cURL語法中可使用 --request GET或--request POST。
【報(bào)文首部】
報(bào)文首部包括若干屬性和屬性值。在使用Yeelink平臺(tái)時(shí)必須制定APIKey。在cURL語法中可以這樣寫:--header “ U-ApiKey: [XXXXYYYYZZZZ] ”
【空行】
空行位于報(bào)文首部和報(bào)文主體之間。
【報(bào)文負(fù)載】
對于一個(gè)瀏覽器來說報(bào)文負(fù)載便是HTML文本,但是對于Yeelink平臺(tái)來說報(bào)文負(fù)載是一個(gè)JSON數(shù)據(jù)包,JSON數(shù)據(jù)包可包括傳感器和GPS坐標(biāo)等。在cURL語法中可寫成:--data "{\"value\",12.3}"。請注意在此處“需要寫成轉(zhuǎn)義字符的形式\"。
2.獲得開關(guān)結(jié)果
curl --request GET --header "U-ApiKey: [XXXXYYYYZZZZ] " ^
http://api.yeelink.net/v1.0/device/1949/sensor/2511/datapoints
圖1 獲得開關(guān)結(jié)果 cURL
圖2 獲得開關(guān)結(jié)果 Http Analyzer
3.推送傳感器數(shù)據(jù)
curl -i --request POST --data "{\"value\":25}" --header "U-ApiKey: [XXXXYYYYZZZZ] ^
http://api.yeelink.net/v1.0/device/1949/sensor/2510/datapoints
圖3 推送傳感器數(shù)據(jù) cURL
圖4 推送傳感器數(shù)據(jù) Http Analyzer
4.推送GPS數(shù)據(jù)
lng代表經(jīng)度,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} }" ^
--header "U-ApiKey: [XXXXYYYYZZZZ] " http://api.yeelink.net/v1.0/device/1949/sensor/9980/datapoints
圖5 推送GPS數(shù)據(jù) cURL
圖6 推送GPS數(shù)據(jù) Http Analyzer
【小技巧】windows中的控制臺(tái)使用中 ^ 符號具有續(xù)行作用。
【小技巧】curl -i 選項(xiàng)可以顯示http響應(yīng)的報(bào)文首部,對于推送傳感器或GPS數(shù)據(jù)有幫助。
5.總結(jié)
cURL是一種靈活有效的調(diào)試工具。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。