AliOS Things 3.3.0 : http组件介绍

简介: HTTP(HyperText Transfer Protocol)是一款用于传输超文本的应用层协议。

概述

HTTP(HyperText Transfer Protocol)是一款用于传输超文本的应用层协议。AliOS Things的网络协议栈包含了HTTP组件,提供HTTP客户端标准能力。开发者可以通过组件API,在设备端快速实现通过HTTP GET、POST等方法与服务端进行数据交互。例如,设备端发起HTTP GET请求https://www.aliyun.com/,获取网页数据。

该组件支持以下功能:

HTTP GET
HTTP HEAD
HTTP POST
HTTP PUT
版权信息

Apache 2.0 License
目录结构

├── include
│   └── httpclient.h          # 对外头文件
├── internal                  # 内部头文件
├── package.yaml              # 编译配置文件
└── src
    ├── http_aos_wrapper.c    # http收发适配层
    ├── http_client.c         # http核心处理层
    ├── http_formdata.c       # http表单数据处理
    └── http_method_api.c     # http方法接口

依赖组件

osal_aos
mbedtls
常用配置

http的常用配置在文件package.yaml内

CONFIG_HTTP_SECURE :是否开启HTTPS支持,默认开启

CONFIG_HTTP_FILE_OPERATE :是否使用文件操作,默认关闭

http的内部配置在文件internal/http_opts.h内

HTTPCLIENT_AUTHB_SIZE : http认证数据(用户名、密码)长度

#define HTTPCLIENT_AUTHB_SIZE     128
#endif

HTTPCLIENT_CHUNK_SIZE : http chunk块数据大小

#define HTTPCLIENT_CHUNK_SIZE     1024
#endif

HTTPCLIENT_SEND_BUF_SIZE : http发送缓存大小

#define HTTPCLIENT_SEND_BUF_SIZE  512
#endif

HTTPCLIENT_MAX_HOST_LEN : URL中host段最大长度

#define HTTPCLIENT_MAX_HOST_LEN   64
#endif

HTTPCLIENT_MAX_URL_LEN : URL最大长度

#define HTTPCLIENT_MAX_URL_LEN    512
#endif

HTTPCLIENT_MAX_RECV_WAIT_MS : 接收超时时间

#define HTTPCLIENT_MAX_RECV_WAIT_MS 5000
#endif

HTTP_PORT : HTTP默认端口

#define HTTP_PORT   80
#endif

HTTPS_PORT : HTTPS默认端口

#define HTTPS_PORT  443
#endif

API说明

参考 aos_httpclient_api
分配HTTP请求头部缓存和响应缓存

image.png
释放HTTP请求头部缓存和响应缓存

image.png
重置HTTP请求头部缓存和响应缓存

image.png
向URL发送GET请求,等待回复。

image.png
向URL发送POST请求,等待回复。

image.png
向URL发送PUT请求,等待回复。

image.png
向URL发送DELETE请求,等待回复。

image.png
发送请求

image.png
接收响应

image.png
关闭连接

image.png
设置请求自定义头部

image.png
获取响应码

image.png
获取响应头部字段值

添加文本表单数据

相关文章
|
2月前
|
消息中间件 API 数据库
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
|
4月前
|
供应链 安全 开发者
供应链投毒预警:恶意Py包伪装HTTP组件开展CStealer窃密后门攻击
近日(2024年4月25号),悬镜供应链安全情报中心在Pypi官方仓库(https://pypi.org/)中捕获1起CStealer窃密后门投毒事件,投毒者连续发布6个不同版本的恶意Py包multiplerequests,目标针对windows平台python开发者,该恶意包在安装时会远程加载CStealer后门到受害者系统上执行,该后门会窃取受害者系统敏感信息、主流浏览器隐私数据、数字货币钱包应用数据以及系统屏幕截屏等。此外,后门还会尝试驻留Windows系统启动目录实现开机自启动。
45 0
供应链投毒预警:恶意Py包伪装HTTP组件开展CStealer窃密后门攻击
|
12月前
|
安全 物联网 API
AliOS Things组件功能介绍(三)
AliOS Things组件功能介绍(三)
|
12月前
|
JavaScript
element-ui(vue)upload组件的http-request方法的使用
element-ui(vue)upload组件的http-request方法的使用
336 0
|
缓存 JavaScript
常见的HTTP状态码及vue中组件name的作用
常见的HTTP状态码及vue中组件name的作用
|
存储 安全 物联网
AliOS Things 3.3.0 : KV组件介绍
对于嵌入式系统应用中,频繁使用的参数存储,过程变量存储等操作,AliOS-Things为用户提供了一种更加直观易于理解的基于键值对的存储方式,如报警温度=50度,可以通过定义一个键值对:{“AlarmTemp”:50}来进行存储。
AliOS Things 3.3.0 : KV组件介绍
|
编解码 物联网 Linux
AliOS Things 3.3.0 : A2SA组件介绍
A2SA是Advanced AliOS Things Sound Architucture的缩写,是AliOS Things音频系统服务框架,包括音频驱动层、音频服务接口层以及音频插件管理等。
AliOS Things 3.3.0 : A2SA组件介绍
|
编解码 算法 物联网
【直播回放已上传】AliOS Things 组件玩法大爆炸,提需求有礼!!
1、2020年6月16日(周二)钉钉群直播,为您全面介绍AliOS Things组件能力。 2、AliOS Things产品研发团队喊你提需求啦,102个AOS-CUBE Cheat Sheet鼠标垫大放送!
【直播回放已上传】AliOS Things 组件玩法大爆炸,提需求有礼!!
|
存储 算法 物联网
AliOS Things KV组件的写平衡特性
KV组件的写平衡(磨损平衡)特性就是通过异地更新、垃圾回收等策略来平衡flash介质各个存储区块的磨损程度,以避免某些“特定”存储区块因过度使用而形成坏区,从而延长flash的使用寿命。
4216 1
|
安全 物联网 Java
AliOS Things 组件系统(uCube)
AliOS Things 是阿里巴巴提供的物联网操作系统,可以在不同的设备上运行不同的功能,甚至相同的设备运行不同的功能,AliOS Things 基于组件管理: 1、 组件功能单一,复用组件提供的功能,比如通道、升级等功能。
4363 0