远程访问设备网页
接口描述
提供一台设备的序列号(SN),返回一个地址,访问该地址就可以直达设备的后台网页,并且通过配置甚至可以无需手动登录直接进入设备。
要能够成功访问此接口有以下几个条件:
- 该设备已经被绑定到你的账号下
- 该设备具备上云功能且已正常上云(未正常上云即设备离线)
请求说明
接口ID | 协议 | 方法 | PATH |
---|---|---|---|
6 | HTTPS | GET | /openapi/v1/stp/user/devices/pdns/web |
PATH参数
无
URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
accesskey_id | string | 是 | 参见签名认证 |
expires | int | 是 | 参见签名认证 |
signature | string | 是 | 参见签名认证 |
sn | string | 是 | 设备序列号 |
type | string | 否 | 返回值类型,可选值有text 、json 、url ,默认为json |
userinfo | string | 否 | 设备的登录信息。详见自动登录方法2 |
proto | string | 否 | 可选值有http 、https ,若不传此参数,那么设备如果启用了https ,则返回https 地址,否则返回http 地址 |
type
参数说明
type
参数有以下几种可选值,表明了请求返回的方式:
text
text
格式只返回一个字符串,如下所示:
http://192.168.6.111:17507/12345678-12345678/?userdata=pdns&userinfo=FULlxxxxxxxxxxxxxxxxxq3g==
json
type
的默认值就为json
,type
为json
时会使用JSON格式返回,如下所示:
{
"proto": "http",
"host":"192.168.6.111",
"userinfo":"U0TlxxxxxxxxxxxxxxxxxvjA==",
"port":17507,
"url": "http://192.168.6.111:17507/12345678-12345678/?userdata=pdns&userinfo=U0TlxxxxxxxxxxxxxxxxxvjA=="
}
url
URL
生成的URL与text
一样,只不过服务器会将url放入header "location"中,并返回302重定向,这样浏览器可以直接跳转,方便接入和更好的用户体验。
自动登录
通过臻云极致远程打开设备可以使用自动登录功能,跳过手动输入用户名密码。
臻云极致目前可以提供两种方式方便用户使用自动登录功能。
- 方法1:臻云极致后台配置
登录臻云极致的管理控制台,设置好该设备的登录名和密码,即可实现自动登录跳转。
注:在此处修改设备登录信息不会同步修改设备上的登录信息
- 方法2:
userinfo
参数
userinfo
设置为用户名和密码的加密字符串,这样也能实现自动跳转,但更复杂,加密公式为:
userinfo=URLEncode(Base64(AES128_ECB_Eecrypt(MD5(AccessKeySecret), "user:pwd")))
公式解读:AES采用128密钥进行加密,加密模式为ECB,补位方式为:zeropadding。先对AppKey进行MD5加密,得到一个128位的结果,该结果作为AES加密的密钥。加密的字符串格式为用户名+冒号+密码,即user:pwd
。对AES加密后的结果进行Base64编码,最后对Base64编码结果进行URLEncode。
例如,40bPBw%2b0ojJ4VPNTuGH0Qg%3d%3d
是admin:admin
加密后的结果,其中使用的AccessKeySecret为0123456789abcdefghijklmnopqrstuv
。
AccessKeySecret请使用和当前请求计算signature所使用的的AccessKeySecret一致,否则云端无法解密。