前言
爱快软路由的管理页面是一个比较现代的前后端分离的程序,因此可以简单的通过POST对爱快进行完全控制,便于无人值守的时候进行一些自动操作。本文给一些简单的例子供参考,具体使用按需开发。
登录
/Action/login
POST方式,username、passwd、pass、remember_password四个参数。
username为登陆用户名的明文,passwd为登录密码本身进行md5计算的结果,而pass为固定值,remember_password赋予true或者false对后续操作没有影响。
将获取到的cookies进行保存,得到一条临时性的sess_key,过期失效重新获取即可。正常情况下没有断电、主动退出,其实有效期好像很久。
操作
/Action/login
日常操作都往这个地址post请求。与登录过程相同,可以用浏览器调试工具分析观察记录。
{"func_name":"irqbalance","action":"cpufreq_set","param":{"mode":"powersave","turbo":1}}
{"func_name":"irqbalance","action":"cpufreq_set","param":{"mode":"ondemand","turbo":1}}
{"func_name":"irqbalance","action":"cpufreq_set","param":{"mode":"performance","turbo":1}}例如这样的内容就是对系统的性能调度模式进行修改。具体的mode代表了对系统设置为节能模式、性能模式或者调度模式。爱快本身是一款对openwrt的二次开发魔改版本,本质上还是一款基于Linux的嵌入式系统,对于性能模式的定义与普通的Linux没有区别。至于turbo设为1则代表启用睿频。如果处理器支持睿频,使用这个能显著的提升性能,同样的也会增加发热量,产生更高的能源需求。
{"Result":30000,"ErrMsg":"Success"}对于响应结果的处理也非常简单,判断是是否有Success即可。如果本身系统负载比较高,进行一些操作的时候可能响应会比较缓;或者性能比较差例如上文提到的爱快Q3000,进行生成非对称密钥的过程就不像x86的软路由能够瞬间返回结果,需要等待几秒钟。所以在程序开发中需要考虑延迟等待过程,如果是图形化程序,需要将网络流程异步处理,否则就会表现成程序响应缓慢。
除了设置,还有记录增加的事件,例如增加拨号信息、增加QOS信息。
{"func_name":"simple_qos","action":"add","param":{"ip_addr":"192.168.1.111","upload":"2048","download":0,"week":"1234567","time":"00:00-23:59","enabled":"yes","comment":"快速添加"}}
{"Result":30000,"ErrMsg":"Success","RowId":1}这是一个例子,如果出现了中文内容,需要注意编码信息UTF-8。
查询
查询过程的返回值与操作不同,接口是相同的。以QOS为例
{"func_name":"simple_qos","action":"show","param":{"TYPE":"data,total","limit":"0,20","ORDER_BY":"","ORDER":""}}
{"Result":30000,"ErrMsg":"Success","Data":{"data":[],"total":0}}
{"Result":30000,"ErrMsg":"Success","Data":{"data":[{"dst_port":"","type":0,"download":0,"week":"1234567","id":1,"enabled":"yes","attr":0,"comment":"快速添加","time":"00:00-23:59","ip_addr":"192.168.1.111","upload":2048,"interface":"","protocol":"","src_port":""}]}}在查询QOS记录的过程,返回内容增加了Data数组。
















