EMQ--HTTP请求api使用笔记(python请求调试)、EMQ使用HTTP请求401问题(需要身份验证)

MQTT服务器EMQv2.0--HTTP接口api(python3 调试笔记)

EMQ使用HTTP请求出现401--需要进行身份验证问题

管理监控API (REST API)

EMQ服务器功能真是够强大的,还可以支持各种插件的扩展,而且本身还自带有HTTP管理监控API(REST API)

用户可以通过 REST API 查询 MQTT 客户端连接(Clients)、会话(Sessions)、订阅(Subscriptions)和路由(Routes)信息,还可以检索和监控服务器的性能指标和统计数据。

大家也可以看下官方的详细文档http://emqtt.com/docs/v2/rest.html,下面是我使用python3用来调试HTTPapi的一些使用体会和使用方法。

环境是:python3,windows10 x64,EMQv2.0

1.Basic 认证

在浏览器上访问REST API的时候,需要进行身份验证,也就是要输入用户名和密码

 

EMQ的REST API 采用 HTTP Basic 认证(Authentication),所以用python请求的时候,需要添加auth,

否则HTTP请求就会返回401错误信息

 2.简单get 请求---获取全部节点的基本信息

下面就用python进行一个简单的get请求获取全部节点的基本信息

API 定义:

GET api/v2/management/nodes

python请求信息如下:

返回状态码200,表示请求成功

其余的get请求都是按照如上所示即可。

3.简单post请求 --发布消息

API 定义:

POST api/v2/mqtt/publish

请求参数:

{
    "topic" : "hello",
    "payload": "hello,world!",
    "qos": 0,
    "retain" : false,
    "client_id":"mqttjs_9f2b260122"
}

注解

topic 参数必填,其他参数可选。payload 默认值空字符串,qos 默认为 0,retain 默认为 false,client_id 默认为 ‘http’。

python请求信息:

 问题:

1.官方提供的参数中,"retain":false 竟然报错,然后这个问题卡住了很久。

2.请求正确了,但是返回的内容是params erroe ,说明参数格式错误 :

 

所以,最后正确的请求返回信息应该为:

EMQ Dashboard web控制台中,就可以成功的看到了消息publish了

 

end..... 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值