curl命令访问域名
1.前言
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}"。请注意在此处“需要写成转义字符的形式\"。
2.获得开关结果
curl --request GET --header "U-ApiKey: [XXXXYYYYZZZZ] " ^
http://api.yeelink.net/v1.0/device/1949/sensor/2511/datapoints
图1 获得开关结果 cURL
图2 获得开关结果 Http Analyzer
3.推送传感器数据
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 Analyzer
4.推送GPS数据
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} }" ^
--header "U-ApiKey: [XXXXYYYYZZZZ] " http://api.yeelink.net/v1.0/device/1949/sensor/9980/datapoints
图5 推送GPS数据 cURL
图6 推送GPS数据 Http Analyzer
【小技巧】windows中的控制台使用中 ^ 符号具有续行作用。
【小技巧】curl -i 选项可以显示http响应的报文首部,对于推送传感器或GPS数据有帮助。
5.总结
cURL是一种灵活有效的调试工具。
curl命令访问域名的更多相关文章
- openshift 使用curl命令访问apiserver
openshift版本:openshift v3.6.173.0.5 使用oc(同kubectl)命令访问apiserver资源的时候,会使用到/root/.kube/config文件中使用的配置. ...
- ACME[free https] Linux中使用curl命令访问https站点4种常见错误和解决方法
free https certification generator https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 每一种客户 ...
- 利用curl命令访问Kubernetes API server
kubectl 通过访问 Kubernetes API 来执行命令.我们也可以通过对应的TLS key, 使用curl 或是 golang client做同样的事. API 请求必须使用 JSON 格 ...
- 如何使用curl命令指定ip访问url
有时我们需要测试一个url,但域名并没解析,这时为了一个简单的测试而写host或去做域名解析,显然这并不高效,而有些域名甚至是正式的域名,因此我们可有使用curl命令进行测试 方法一 curl url ...
- 【转】命令行浏览器 curl 命令详解,Linux中访问url地址
CURL --- 命令行浏览器 这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑 1)二话不说,先从这里开始吧! curl http://www.yahoo.com 回车之后,www. ...
- 如何让 curl 命令通过代理访问
如何让 curl 命令通过代理访问 Linux.中国 - 开源中文社区 2018-01-18 8909 阅读 技术 我的系统管理员给我提供了如下代理信息: IP: 202.54.1.1 Port: 3 ...
- curl命令行使用
curl 命令使用 原文地址:http://blog.sina.com.cn/s/blog_4b9eab320100slyw.html 可以看作命令行浏览器 1.开启gzip请求curl -I h ...
- curl命令常见用法汇总 good
curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服 ...
- curl命令使用大全
curl命令使用大全 可以看作命令行浏览器 1.开启gzip请求curl -I http://www.sina.com.cn/ -H Accept-Encoding:gzip,defalte 2.监控 ...
随机推荐
- 2-Highcharts曲线图之折线图
示例图片,在网上下载一张图片如图:其中数据自定义 引入上节模版配置 在script标签中写代码:具体代码如下 信息将在代码中解释. 分析:“五省收益趋势”是标题: x坐标为[2011年-2016 ...
- memmove和memcpy 以及strcmp strcpy几个库函数的实现
memmove和memcpy 1.memmove 函数原型:void *memmove(void *dest, const void *source, size_t count) 返回值说明:返回指向 ...
- Ignore files which are already versioned
If you accidentally added some files which should have been ignored, how do you get them out of vers ...
- Unity3D脚本中文系列教程(六)
http://dong2008hong.blog.163.com/blog/static/469688272014031943118/ Unity3D脚本中文系列教程(五) 变量 ◆var colli ...
- c# 4.0新特性一览
原文:http://www.cnblogs.com/palo/archive/2009/03/01/1400949.html 终于静下心来仔细听了一遍Anders Hejlsberg(Visual S ...
- linux上部署应用
1.编写traffic.sh 引入相关的jar包及java环境路径 2.crontab -e 加入: */10 * * * * cd /opt/sys/traffic_version/bin & ...
- poj 2031 Building a Space Station(最小生成树,三维,基础)
只是坐标变成三维得了,而且要减去两边的半径而已 题目 //最小生成树,只是变成三维的了 #define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> ...
- ios APP屏幕快照尺寸
苹果上传APP审核需要上传APP屏幕快照,分别有3.5寸,4寸,4.7寸,5.5寸,ipad五种图片,对应尺寸大小: 3.5寸:横坚屏 640*960 或960*640 4寸:横坚屏 640*1036 ...
- Zend Studio的配置和使用
或许你可以用Dreamweaver.Notepad++或者Editplus这样的东西完成你的系统,但所谓“工欲善其事,必先利其器”,偶认为一个给力的IDE对于新手还是很必要的,而Zend作为PHPer ...
- PHP程序员的40点陋习
1.不写注释 2.不使用可以提高生产效率的IDE工具 3.不使用版本控制 4.不按照编程规范写代码 5.不使用统一的方法 6.编码前不去思考和计划 7.在执行sql前不执行编码和安全检测 8.不使用测 ...