找回密码
 成为会员
搜索
热搜: 活动 交友 discuz
查看: 122|回复: 0

通过脚本启停设备

[复制链接]

8

主题

8

回帖

76

积分

版主

积分
76
发表于 2025-3-20 16:49:44 | 显示全部楼层 |阅读模式
/*
此脚本实现通过脚本启停设备,在rc19版本测试成功,其他版本未测
*/
var fmt= import("fmt")
var strings = import("strings")
var io = import("io/ioutil")
var http = import("net/http")
var time = import("time")
var regexp = import("regexp")

func ismlogin () {
        url = "http://127.0.0.1:8081/login"
        //Username字段为登录的用户名,请确保有该权限,password字段需自行抓包获取
        payload = strings.NewReader("{\"Username\":\"admin\",\"password\":\"ef775988943825d2871e1cfa75473ec0\",\"appid\":\"\"}")
        req, _ = http.NewRequest("POST", url, payload)
        req.Header.Add("content-type", "application/json")
        res, _ = http.DefaultClient.Do(req)
        body, _ = io.ReadAll(res.Body)
        str = fmt.Sprintf("%c", body[139:406])
        str1 = strings.Replace(str," ","", -1)
        str2 = strings.Replace(str1,"]","", -1)
        token = strings.Replace(str2,"[","", -1)
  return token
}

func devenable (dev_uuid, status) {
        token = ismlogin()
        url = "http://127.0.0.1:8081/SetDeviceStartOrStop"
        reader_1 = "{\r\n\"uuid\": \""
        eader_2 = "\",\r\n\"editData\": {\r\n\"IsEnable\": "
        reader_3 = ",\r\n\"deviceType\": 2\r\n}\r\n}"
        reader_str = reader_1 + dev_uuid + reader_2 + status +reader_3
        payload = strings.NewReader(reader_str)
        req, _ = http.NewRequest("POST", url, payload)
        req.Header.Add("Accept", " application/json, text/plain, */*")
        req.Header.Add("Accept-Language", "zh-CN,zh;q=0.9")
        req.Header.Add("Authorization", token)
        req.Header.Add("content-type", "application/json")
        res, _ = http.DefaultClient.Do(req)
}
//调用函数 参数1为需要启停的设备uuid,通过数据库查找获得 参数2为状态,1为启动设备,0为停止设备
devenable("44170d95-aa94-023a-92a1-395aafc23095","1")

您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

快速回复 返回顶部 返回列表