易语言操作小米路由器源码

小米路由器操作源码,源码实现了登录路由器,获取WIFI信息,获取WAN信息,连接与断开拨号,重启路由器,计算_nonceCreat,提取后台主页。

.版本 2 .支持库 spec .子程序 登录路由器, 逻辑型, 公开 .参数 password, 文本型 .参数 错误原因, 文本型, 参考 可空 .局部变量 str, 文本型 .局部变量 Code, 文本型 .局部变量 Json, 类_json str = 到文本 (网页_访问 (“http://192.168.31.1/cgi-bin/luci/web”)) ' //取数据 数据类.key = 文本_取出中间文本 (str, “key: '”, “',”) 数据类.nonce = 计算_nonceCreat () 数据类.passwordKey = 校验_取sha1 (到字节集 (数据类.nonce + 校验_取sha1 (到字节集 (password + 数据类.key)))) 调试输出 (#换行符 + “Nonce:” + 数据类.nonce + #换行符 + “Key:” + 数据类.key + #换行符 + “PasswordKey:” + 数据类.passwordKey) str = 到文本 (网页_访问 (“http://192.168.31.1/cgi-bin/luci/api/xqsystem/login”, 1, “username=admin&password=” + 数据类.passwordKey + “&logtype=2&nonce=” + 编码_URL编码 (数据类.nonce, 真))) Json.解析 (str) Code = Json.取通用属性 (“code”) .判断开始 (Code = “0”) 数据类.Token = Json.取通用属性 (“token”) 数据类.HomeUrl = Json.取通用属性 (“url”) 调试输出 (#换行符 + “Token:” + 数据类.Token + #换行符 + “HomeUrl:” + 数据类.HomeUrl) 返回 (真) .判断 (Code = “401”) 错误原因 = “密码错误” 返回 (假) .默认 .判断结束 调试输出 (“其他错误”, str, Code) 错误原因 = Code 返回 (假) .子程序 获取WIFI信息, 逻辑型, 公开 .参数 WIFI信息参考, WIFI信息数据, 参考 .参数 错误原因, 文本型, 参考 可空 .局部变量 str, 文本型 .局部变量 Code, 文本型 .局部变量 Json, 类_json str = 到文本 (网页_访问 (“http://192.168.31.1/cgi-bin/luci/;stok=” + 数据类.Token + “/api/xqnetwork/wifi_detail_all ”)) Json.解析 (str) Code = Json.取通用属性 (“code”) 调试输出 (Code) ' info= 0=WIFI信息 1=访客WIFI信息 .判断开始 (Code = “0”) WIFI信息参考.Ssid = 删首尾空 (编码_URL解码 (Json.取通用属性 (“info[0].ssid”), 真)) WIFI信息参考.password = Json.取通用属性 (“info[0].password”) WIFI信息参考.bandwidth = Json.取通用属性 (“info[0].bandwidth”) WIFI信息参考.channel = Json.取通用属性 (“info[0].channel”) WIFI信息参考.hidden = Json.取通用属性 (“info[0].hidden”) WIFI信息参考.Guest_Ssid = 删首尾空 (编码_URL解码 (Json.取通用属性 (“info[1].ssid”), 真)) WIFI信息参考.Guest_Password = Json.取通用属性 (“info[1].password”) 数据类.WifiInfo = WIFI信息参考 调试输出 (数据类.WifiInfo.Ssid, 数据类.WifiInfo.Guest_Ssid) 返回 (真) .默认 .判断结束 错误原因 = Code 返回 (假) .子程序 获取wan信息, 逻辑型, 公开 .参数 wan信息参考, wan信息数据, 参考 可空 .参数 错误原因, 文本型, 参考 可空 .局部变量 str, 文本型 .局部变量 Code, 文本型 .局部变量 Json, 类_json str = 到文本 (网页_访问 (“http://192.168.31.1/cgi-bin/luci/;stok=” + 数据类.Token + “/api/xqnetwork/wan_info”)) Json.解析 (str) Code = Json.取通用属性 (“code”) 调试输出 (Code) .判断开始 (Code = “0”) wan信息参考.User = Json.取通用属性 (“info.details.username”) wan信息参考.password = Json.取通用属性 (“info.details.password”) wan信息参考.wanType = Json.取通用属性 (“info.details.wanType”) wan信息参考.dnsAddrs1 = Json.取通用属性 (“info.dnsAddrs1”) wan信息参考.dnsAddrs = Json.取通用属性 (“info.dnsAddrs”) wan信息参考.ip = Json.取通用属性 (“info.ipv4[0].ip”) wan信息参考.mask = Json.取通用属性 (“info.ipv4[0].mask”) wan信息参考.gateWay = Json.取通用属性 (“info.gateWay”) wan信息参考.link = Json.取通用属性 (“info.link”) 数据类.wanInfo = wan信息参考 返回 (真) .默认 .判断结束 错误原因 = Code 返回 (假) .子程序 连接与断开拨号, 逻辑型, 公开 .参数 类型, 逻辑型, , 真=开始拨号 假=断开拨号 .参数 错误文本, 文本型, 参考 可空 .局部变量 str, 文本型 .局部变量 Json, 类_json .局部变量 Code, 文本型 str = 到文本 (网页_访问 (“http://192.168.31.1/cgi-bin/luci/;stok=” + 数据类.Token + “/api/xqnetwork/” + 选择 (类型 = 真, “pppoe_start”, “pppoe_stop”))) Json.解析 (str) Code = Json.取通用属性 (“code”) .判断开始 (Code = “0”) 返回 (真) .默认 .判断结束 错误文本 = Code 返回 (假) .子程序 重启路由器, 逻辑型, 公开 .参数 错误文本, 文本型, 参考 可空 .局部变量 str, 文本型 .局部变量 Json, 类_json .局部变量 Code, 文本型 str = 到文本 (网页_访问 (“http://192.168.31.1/cgi-bin/luci/;stok=” + 数据类.Token + “/api/xqsystem/reboot?client=web”)) Json.解析 (str) Code = Json.取通用属性 (“code”) .判断开始 (Code = “0”) 返回 (真) .默认 .判断结束 错误文本 = Code 返回 (假) .子程序 计算_nonceCreat, 文本型 .局部变量 Type, 文本型 .局部变量 mac, 文本型 .局部变量 Time, 文本型 .局部变量 random, 文本型 Type = “0” mac = 到小写 (系统_取MAC地址 ()) Time = 时间_取现行时间戳 (真) random = 到文本 (汇编_取随机数 (0, 10000)) 返回 (Type + “_” + mac + “_” + Time + “_” + random) ' // 原文 ' function nonceCreat() { ' var type = 0; ' var deviceId = 'e8:2a:44:dc:fc:31'; ' var time = Math.floor(new Date().getTime() / 1000); ' var random = Math.floor(Math.random() * 10000); ' return [type, deviceId, time, random].join('_'); ' } .子程序 提取后台主页, 文本型, 公开 返回 (数据类.HomeUrl)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注