为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 网络相关源码 正文

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

三叶资源网 2019-03-23 10:49:37 网络相关源码 4605 ℃ 17 评论

小米路由器操作源码,源码实现了登录路由器,获取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)

@沉溺中回忆

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有17位网友发表了看法:

  • 易语言

    易语言  评论于 [2020-03-04 17:20:49]  回复

    小米路由器出现nonce

  • 易语言

    易语言  评论于 [2020-03-17 13:08:52]  回复

    小米路由器nonce验证失败

  • 创建号

    创建号  评论于 [2020-03-23 10:30:17]  回复

    小米路由器nonce验证错误

  • API完成

    API完成  评论于 [2020-04-14 12:49:34]  回复

    小米路由nonce验证错误

  • sql语句

    sql语句  评论于 [2020-04-17 20:42:45]  回复

    小米路由器invalid nonce

  • 易语言

    易语言  评论于 [2020-04-25 15:21:04]  回复

    小米路由器invalid nonce

  • 易语言

    易语言  评论于 [2020-05-08 19:51:42]  回复

    小米路由nonce验证错误

  • 易语言

    易语言  评论于 [2020-08-17 17:22:17]  回复

    invalid nonce 小米路由

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
图像缩放枚举IE插件socks5POST上传WebUI黑月支持库插件字节集搜索脚本源码自绘旋转图片网页操作文字识别PDO数据TCP调试块级元素开源quickjsPOST调试工具填表源码画板源码mongodb使用
最新评论