一、前情提要

 

Auto.js与按键精灵功能类似  但更加强大,比如控件操作 ,以及调用java插件 扩展性强。

但它们有个共通的缺陷!! 无法从移动端直接链接数据库 读写数据, 所以需要做一个中转站来传递读写信息。 

 

二、大概原理

1.脚本发送get、post请求给“中转站”, 

2.“中转站”分析请求 再链接数据库做对应读写操作,

3.最后原路返回结果。

中转站可以是任何高级语言来做。 比如C#   python   java  php 等

我用C# 代码制作的中转站, 同时也可以把数据都显示出来,供你在网页上操作, 增删改查 导入导出等..

 

网站截图↓↓↓    还可以自定义列名, 比如取名为 账号 密码 状态  金币 ..... 。 改了列名后 脚本调用的列名就要跟着改

autojs 连接mysql autojs数据库读取_auto.js

C#后台部分源码↓↓↓(全部内容太大,这里展示不了):

string lie = Request["lie"]; //列名
        string Tablename = Request["fqm"]; //仓库名称

        if (Tablename == null || lie == null)
        {
            Response.Write("异常:缺少读取参数!请检查 账号:" + Tablename + " 列名:" + lie);
            return;
        }
        Hashtable h_table = new Yun_Table().GetModel_Table(Tablename);
        if (h_table == null)
        {
            Response.Write("异常:仓库不存在");
            return;
        }
        string liezh = lie_zh(lie);
        if (liezh.Contains("异常"))
        {
            Response.Write(liezh);
            return;
        }
        string sql = "select Table" + liezh + " from  Yun_Table where 1 = 1 and Tablename = @b";
        SqlParameter[] pmd2 = {
                                  new SqlParameter("@b",Tablename)
                                     };
        object obj = SQLHelper2.ExecuteSingle(sql, pmd2);
        if (obj != null && obj.ToString() != "")
        {
            
                string caozuo = "读取仓库:" + Tablename + " ,列:" + lie + "的数据成功";
                int i = Yun_log.jl_log("读取", caozuo);
                if (i > 0)
                {
                    Response.Write(obj.ToString());
                }
                else
                {
                    Response.Write(" 异常:日志记录失败!");
                }
            
        }
        else
        {
            Response.Write("异常:获取失败,无此数据!");
        }

三、能做到什么程度

重点 → 

批量登录账号搬砖 、  读写远程配置文件/云端txt、 脚本之间数据传递、 各种自动化操作 云控、 给脚本上网络验证

 

四、示例及调用插件

做了个Auto.js调用云端数据的示例

下面的Auto.js代码,原样复制运行

管理数据的网址:121.43.41.227:47259

简单用法就是先在网站上新增  设置好你要读写的数据,  再用读写接口去调用。 

//管理网址 121.43.41.227:47259

toastLog(读取某格内容("仓库1","列1"));
sleep(500);
toastLog(写入某格内容("仓库2","列3","我是刚改的数据 时间=》 " + 获取当前时间()));



function 读取某格内容(仓库名, 列名) {
  var url = "http://121.43.41.227:47259/admin/Api/fuwu.aspx?action=du";
  var res = http.post(url, {
    "du_class": "a_row_a_column",
    "fqm": 仓库名,
    "lie": 列名
  });
  var 结果 = res.body.string();
  return 结果;
}


function 写入某格内容(仓库名, 列名, 写入数据) {
  //写入数据里不能存在   空格 + 以及 & 
  var url = "http://121.43.41.227:47259/admin/Api/fuwu.aspx?action=xie";
  var res = http.post(url, {
    "xie_class": "a_row_a_column",
    "fqm": 仓库名,
    "lie": 列名,
    "upd_data": 写入数据
  });
  var 结果 = res.body.string();
  return 结果;
}

function 获取当前时间() {
  var t = new Date();
  var time = t.getFullYear() + "." + (parseInt(t.getMonth()) + 1) + "." + t.getDate() + " " + t.getHours() + ":" + t.getMinutes();
  return time;
}

示例仅供测试,随时关闭失效