天天看点

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是一种灵活有效的调试工具。

继续阅读