TuyaOS
|
这个项目将会介绍 http
协议和使用相关接口进行 post
,get
等操作。
HTTP
简介HTTP(HyperText Transfer Protocol)
,超文本传输协议,是一个客户端和服务器端请求和应答的标准(通常采用 TCP
协议)。
HTTPS
简介HTTPS
基于 HTTP
协议,通过 SSL
或 TLS
提供加密处理数据、验证对方身份以及数据完整性保护。
因为 HTTP
协议传数数据时使用的是明文,非常不安全,所以 tuyaos
采用 tls
协议对 TCP
传输数据的时候进行了加密。
在内部开发中,涂鸦设备与涂鸦服务器之间的交互,大多使用的是 atop
接口。atop
接口可以理解为涂鸦设备与涂鸦云端的一种俗称约定,例如使用 tuya.xxx.weather.get
API
接口就可以访问涂鸦服务器,获取当前的天气状态。
但是直接暴露接口名称,对涂鸦服务器来说非常不安全,所以此例程中,都是设备通过域名去访问。如果开发者有相关需求需要 atop
接口,可以直接联系产品经理。
HTTP
请求消息HTTP
请求消息的格式如下:
tuyaos
内部已经替我们做了一些处理,外部提供了 HTTP
接口,我们只需要重点关注请求的方式、域名、请求体中的数据即可。
HTTP
响应消息响应消息就是服务器响应给客户端的消息内容,也叫作响应报文。响应消息的格式如下:
此例程只介绍设备(客服端)的使用,服务器端请开发者自行配置。
HTTP
请求方式,用来表明请求 URL
指定的资源不同的操作方式。HTTP1.1
中共定义了8种不同的请求方式。但此例程只介绍最常用的 post
和 get
请求方式。 tuyaos
支持带参数请求。例:iot_httpc_raw_post("www.baidu.com/index.html?demo=123",strlen("index.html?demo=123",p_http_hander);
post
post
,向服务器提交资源(例如提交表单或上传文件)。数据被包含在请求体中提交给服务器。
使用iot_httpc_raw_post
或者 httpc_raw_post
函数发起 post
请求。函数的形参介绍如下:
使用iot_httpc_raw_write_content
或者httpc_raw_write_content
函数填充 post
数据。函数的形参介绍如下:
post
完数据之后记得要使用 iot_httpc_raw_close
或者 httpc_raw_close
函数关闭请求,因为 HTTP
是无连接的,发完数据就要关闭。
get
get
,发送请求来获得服务器上的资源。
使用 iot_httpc_raw_get
或者 httpc_raw_get
函数发起 get
请求。函数的形参介绍如下:
使用 iot_httpc_raw_read_resp_header
或者 httpc_raw_read_resp_header
函数获取响应报文信息。响应报文信息中需要重点关注状态码(响应码),完整的响应码可参考MDN官方文档。 函数的形参介绍如下:
使用 iot_httpc_raw_read_content
或者 httpc_raw_read_content
获取数据。函数的形参介绍如下:
get
完数据之后记得要使用 iot_httpc_raw_close
或者 httpc_raw_close
函数关闭请求,因为 HTTP
是无连接的,发完数据就要关闭。
相关函数目录: software/TuyaOS/include/components/svc_api_iot/include/tuya_iot_internal_api.h