简介
本实例用于演示,通过万捷网络验证给触摸精灵程序增加登录授权功能,让触摸精灵编写的程序可以进行销售,控制软件的版权,为软件的作者提供收益。
实现的原理:
根据网络验证的WebApi接口的要求,构造URL网址,然后访问网址,根据返回的内容控制程序流程。
用到的技术/接口:
1、(必须)需要用到URL访问的功能,通常表达为:网页访问、GET请求、HTTP请求、cURL,用于访问构造的网址。
2、(非必须)字符串分割成数组的功能,用于将访问网址返回的内容分割成数组,根据实际需求来利用分割出的成员结果。
相关资料:
在线帮助文档(看 webapi接口说明):https://www.wjsrs.com/h/
示例源码:
UI = {
{ 'TextView{-输入卡号登录脚本-}' },
{ 'InputBox{}', 'ui_user', '卡号:'},
};
function main()
if not ui_user then
sys.dialog("请先选定脚本,填写卡号");
return false
end
-- 将设备ID保存到deviceID变量中,构造到URL中,用于卡号绑定设备,防止换机登录
deviceID = sys.deviceID();
--构造URL然后访问
data, status = net.http.get('http://xxxxx/api.php?name=zlogin&c1=10008&c2='.. ui_user ..'&c4=1.0&c5='.. deviceID ..'&c6=yxh&c7=1');
if data == '' then
sys.dialog("连接服务器失败.")
end
--登录成功返回的结果类似:1272<|>1
--登录成功返回的结果包含<|>且结尾为<|>1
--判断分隔符是否存在,以确定是登录成功还是返回了错误信息
if string.find(data,'<|>') == nil then
sys.dialog(data)
return false
end
--分割字符串,得到用户的剩余秒数
t = string.split(data,'<|>')
if tonumber(t[1]) < 1 then
sys.dialog(data)
return false
end
--得到了用户的剩余时间,根据自己需要使用,或者不使用
sys.dialog("剩余秒数:"..t[1])
--到这里就是登录成功了,注意以上代码不要每次循环都执行一遍,否则循环一次登录一次就成攻击了
--到这里就是登录成功了,注意以上代码不要每次循环都执行一遍,否则循环一次登录一次就成攻击了
--到这里就是登录成功了,注意以上代码不要每次循环都执行一遍,否则循环一次登录一次就成攻击了
--以下为自己的代码............................
end