之前寫過桂林電子科技大學宿舍安裝路由並實現每天自動登錄
這個文章,但是宿舍一直用的是其他舍友買的路由器,做好教程就換回來了。
現在每天基本都是我起來最早,由於需要網絡跑腳本,宿舍路由器每天需要手動撥號才能上網,本人有常用autojs,於是,,,
拙劣的代碼能力。。。
不多說上腳本代碼:
importPackage(android.content);
//宿舍WiFi名稱
var wifi ="填寫宿舍WiFi名稱";
//時間
var t1 =3000;
var t2= 5000;
//打開設置
app.launchPackage("com.android.settings");
sleep(t2);
click("WLAN");
sleep(t1);
//判斷WiFi是否關閉
let wifiManager = context.getSystemService(Context.WIFI_SERVICE);
getCurrentWifiStateState(wifiManager)
function getCurrentWifiStateState(wifiManager) {
if (wifiManager.isWifiEnabled()){
toast("WLAN已經打開");
}else{
toast("WLAN未打開");
sleep(t1);
click("開啓WLAN");
sleep(t1);
toast("開啓成功");
}
}
sleep(t1);
//點擊宿舍WiFi
click(wifi);
toast("連接中");
sleep(t2);
/*鏈接WiFi完畢,.開始post
*tDDDDD填寫學號
*tupass填寫寬帶密碼
*/
var url = "http://10.32.254.11";
var tDDDDD = "學號";
var tupass = "密碼";
//http://10.32.254.11/drcom/login?
var tcallback="dr1570068753474";
var t0MKKey="123456";
var tR1= "0";
var tR6="1";
var tpara="00"
var tv6ip="";
//var t&_="1570068729776";
/*
*校園網——R3=0
*中國電信——R1=1
*中國聯通——R3=2
*中國移動——R3=3
*/
var tR3 ="1";
http.post(url,{
"callback":tcallback,
"DDDDD":tDDDDD,
"upass":tupass,
"0MKKey":t0MKKey,
"R1":tR1,
"R3" :tR3,
"R6":tR6,
"para":tpara,
"v6ip":tv6ip,
});
/*
var html = res.body.string();
if(html.contains("您已經成功登錄。")){
toast("登錄成功");
}else{
toast("登錄失敗");
} */
使用方法:
下載autojs,新建腳本,把上面的代碼寫進去,填寫好相關參數,添加定時任務就可以了,不多自己百度
缺點:有能力的自己完善,學業繁忙
【1】腳本是基於我的情況和MIUI手機開發的已經儘量做到適配所有手機了,不過我在編寫的時候就已經意識到肯定有些機型肯定不合適,,,
因爲有些代碼並不是針對Android系統的指令進行調用。而是基於表象。。。做頁面判別工作量太大,,,學業繁忙,告辭
【2】沒有做好登錄結果的反饋。。。這個需要抓包分析返回值,,,學業繁忙,告辭
【3】低端機子需要適當修改休眠時間,不同手機設置的包名不一樣,需要按機子修改
寫的時候感覺很多不足想不起來了。。
昇華啓發:
【1】之前爲了適配所有機型,苦苦追尋如何計算如何實現連接指定WiFi,百度了之後沒有相關教程。。。在和幾位大佬交流後,都是說要麼是模擬操作,要麼通過shell指令實現,這就涉及root權限申請,但是並不是所有人都喜歡root手機。。。最後選擇放棄了。。。
如果你有更好的方法,請告知我,謝謝
【2】桂電宿舍路由器好像不能通過局域網撥號。。。這個說法我感覺我說的不準確,這讓我前年在桂電貼吧的撥號網站,只要提交宿舍寬帶的賬號密碼,就能每天給你自動撥號。看過他們的開發說明,就是在局域網內實現的,不過桂電網絡經過了一次升級,可能是這個原因,而且那個撥號網站也不在了,本想聯繫那個網站管理人員,瞭解一下情況,希望要一份源碼,無奈對方不予迴應,估計畢業了。。。
【3】學到了很多相關領域的東西,準備在寫幾個博客分析
測試情況:手動撥號成功一週多,定時自動撥號兩天了;