获取MQTT连接信息
接口描述
使用消息服务前,此接口用于获取连接MQTT服务的IP、端口、用户名和密码等信息。
请求说明
接口ID | 协议 | 方法 | PATH |
---|---|---|---|
18 | HTTPS | GET | /openapi/v1/stp/clients/route |
PATH参数
无
URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
accesskey_id | string | 是 | 参见签名认证 |
expires | int | 是 | 参见签名认证 |
signature | string | 是 | 参见签名认证 |
sid | string | 否 | 会话ID |
注意:连接MQTT服务除了需要IP、端口、用户名、密码以外,还需要一个 clientid
,此 clientid
是MQTT连接会话的唯一标识,若出现两个相同的 clientid
连接到MQTT服务,新的MQTT连接会将旧的MQTT连接踢掉,所以为了保证不会出现此问题,提供了 sid
参数,由调用者传入,这样请求返回的 clientid
内会包含此 sid
, sid
只能是1到16位的数字和字母组合。
请求示例
GET https://open.vzicloud.com/openapi/v1/stp/clients/route?sid=777&accesskey_id=8d44aakK21154vTS6rF2funiYlwlGUMf&expires=1600758470&signature=oAirH47%2BXhAGNlVvipQTmndHVbA%3D HTTP/1.1
Host: open.vzicloud.com
注意:您无法将请求示例的链接地址贴入浏览器直接运行,此示例仅展示URL格式,由于AccessKey具备有效期,您访问时此链接已过期。
返回说明
返回参数
参数 | 类型 | 说明 |
---|---|---|
host | string | 连接MQTT服务器的IP地址 |
port | int | 连接MQTT服务器的端口号 |
type | string | 返回的端口类型,目前为tcp |
clientid | string | 连接MQTT服务器的clientid |
username | string | 连接MQTT服务器的用户名 |
password | string | 连接MQTT服务器的密码 |
remote_addr | string | 当前请求者的公网IP |
注意事项:
- 必须使用获取到的MQTT连接信息进行MQTT的连接操作,不能改动任何一个值,否则您肯定连接不上。
- 不能将获取到的MQTT连接信息存起来重复使用,每次连接MQTT之前都应该使用此接口获取新的MQTT连接信息再使用,否则你很可能出现连接不上的问题,因为密码有过期时间。
返回示例
{
"host": "119.3.146.99",
"port": 1883,
"type": "tcp",
"remote_addr": "117.173.226.247",
"clientid": "client_1_777",
"username": "cid_1_uid_1_typ_0",
"password": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDA3NTg0NzAsInVzZXJuYW1lIjoiMSIsImNsaWVudGlkIjoiY2xpZW50XzFfNzc3In0.D0EzwPYiWXxuw_nERsOe9DOhwsJd5KhIVsDL3yh5UWY"
}