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

时间: 2024-10-25 06:25:51

curl命令访问域名的相关文章

lamp架构-访问控制-禁止php解析、屏蔽curl命令访问

lamp架构-访问控制-禁止php解析 有的网站论坛开启了上传图片功能,导致黑客木马捆绑图片上传到服务器,通过访问php来提升服务器后台权限,这里我们就需要将上传图片的目录禁止访问php文件,来达到防止黑客木马上传上来通过访问web来运行木马的作用: 编辑虚拟配置文件 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 增加代码 <Directory /data/wwwroot/szl.com/upload> php_admin_flag

openstack中使用curl命令获取token并访问底层的API

在oepnstack中,访问所提供的服务(如创建虚拟机等)首先需要获取认证的token,也就是一个凭证,获取的方式是通过向OpenStack Identity模块发送一个带负载的认证请求,通常负载中携带的信息是用户名和密码.当访问底层提供的服务的时候,需要将token封装在X-Auth-Token头部中,如果需要访问openstack提供的多个服务,需要为每个服务提供一个token,值得注意的是,每个token都有一个期满时间,过了这个时间,token就会自动失效.下面将结合实例详细阐述使用li

curl命令使用大全

本文是 http://www.51osos.com/a/Linux_CentOS_RedHat/Linuxjichu/2010/1025/curl.html 以及 http://hi.baidu.com/yschen0925/blog/item/d62851072f10eaca7b894790.html 的汇总. 今天51开源给大家讲细讲解curl这个命令. 可以看作命令行浏览器 1.开启gzip请求 curl -I http://www.sina.com.cn/ -H Accept-Encod

Curl命令、Elinks命令、lynx命令、Wget命令、lftp命令

一.Curl命令 语法 curl(选项)(参数) 选项 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -anyauth 可以使用"任何"身份验证方法 -b/--cookie <name=string/file> cookie字符串或文件读取位置      --basic 使用HTTP基本验证 -B/--use-ascii 使用ASCII /文本传输 -c/--cookie-jar

curl 命令获取网络网站的响应码

curl命令参数很多,博主很多都没有用过.今天发现可以用-w参数挺好用的. -w:--write-out,作用就是输出点什么.curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出.输出格式由普通字符串和任意数量的变量组成,输出变量需要按照%{variable_name}的格式,如果需要输出%,double一下即可,即%%,同时,\n是换行,\r是回车,\t是TAB.curl会用合适的值来替代输出格式中的变量,所有可用变量如下: url_effective 最终获取的url地

三种方式绑定hosts文件来访问域名

一.通过windows的hosts文件(C:\Windows\System32\drivers\etc\hosts) aaa.bbb.com 111.111.111.111 111.111.111.111 aaa.bbb.com 二.通过linux下的/etc/hosts(cat /etc/hosts) aaa.bbb.com 111.111.111.111 111.111.111.111 aaa.bbb.com 三.通过curl命令直接绑定访问 curl -H "Host:aaa.bbb.co

Linux Shell学习--curl命令详解

curl命令详解 (1).curl介绍 作为一款强力工具,curl支持包括HTTP.HTTPS.FTP在内的众多协议.它还支持POST.cookie.认证.从指定偏移处下载部分文件.参照页(referer).用户代理字符串.扩展头部.限速.文件大小限制.进度条等特性.如果要和网页访问序列(web page usagesequence)以及数据检索自动化打交道,那么curl定能助你一臂之力. (2).curl的help curl --help Usage: curl [options...] <u

Linux curl 命令

yum install curl curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. http://man.linuxde.net/curl 常见示例: 文件下载 curl命令可以用来执行下载.发送各种HTTP请求,指定HTTP头部等操作,curl是将下载文件输出到stdout,将进度信息输出到stderr. curl URL --silent    #--silent显示进

xargs和exec详解、screen命令、curl命令

1.xargs和exec详解xargs execfind /var/log/  -type f  -mtime +10   (超过10天的文件)find /var/log/  -type f  -mtime +10  -exec cp {} {}.bak \; (将找到的文件都复制成.bak文件)find /var/log/  -type f  -mtime +10  |xargs  -i cp {}  {}.1  (复制重命名)ls |xargsls x* ls x*  |xargs rmls