校園網開機自動登錄
一直想著做這個開機自動登錄的。但是一直拖,其實也沒什麽,就幾行腳本,一個post包而已。終於受不了這個每次開機都彈出認證網頁,盡管已經記住了賬號密碼,但是還要選套餐還要點擊登錄。
懶,人類進步的階梯
具體實現用的是python的requests庫。
import requests def login(username,password,nettype): url=‘http://172.17.3.10/srun_portal_pc.php?ac_id=1&url=www.msftconnecttest.com‘ postdata={ ‘action‘: ‘login‘, ‘ac_id‘: 1, ‘user_ip‘:‘‘, ‘nas_ip‘:‘‘, ‘user_mac‘:‘‘, ‘url‘: ‘http://www.msftconnecttest.com‘, ‘drop‘: 0, ‘domain‘: nettype, ‘username‘: username, ‘password‘: password } requests.post(url,data=postdata) login(xxxxxxxxx,xxxxxx,‘@jiaoyu‘)
開機自動啟動可以選擇幾種方案。
1.bat腳本
python login.py
但是這樣開機會有一個黑色的cmd窗口
2.vbs腳本
前提是有上面的bat腳本
set ws=WScript.CreateObject("WScript.Shell") ws.Run "login.bat",0
這樣可以通過vbs腳本去執行bat腳本,再去執行python腳本。vbs腳本的第一行可以避免出現黑色的cmd窗口
上面的兩種方法都要把相應的腳本或者快捷方式放在開機啟動的文件夾
win10開機啟動的文件夾路徑是:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
3.任務計劃程序
這個東西在開始菜單輸入“任務計劃程序”即可找到
新建一個任務,出發條件設置成啟動時,然後操作是啟動腳本(可以是剛剛的bat腳本,但是好像vbs腳本不行),我設置的是直接啟動python腳本了。
“程序或腳本”寫python的路徑例如我的是H:\python\python.exe,“添加參數(可選)”寫python腳本的路徑,例如我的是C:\Users\MLG\PycharmProjects\校園網自動登陸\main.py
如果按這種方法執行,依然會有一個黑色的cmd窗口。解決辦法就是使用pythonw.exe這個程序,之前tk寫GUI窗體的時候也是這樣,防止啟動程序時有黑窗,就把腳本名稱由py改為pyw,這樣就調用pythonw.exe這個程序去執行python腳本,就不會由黑色命令行窗口出現了。
最令我惱火的是,無論用上述哪個辦法,在開機之後一仍然會彈出瀏覽器讓我登錄(你以為我為什麽試這麽多方法)應該是windows檢測網絡連接狀況先於腳本的執行,所以檢測完沒有聯網後就直接彈出瀏覽器
解決方法是在組策略裏取消網絡狀況的檢測(以後就不會再自動彈出登錄頁面了)(我怕以後會再需要這樣自動彈出頁面就記一下具體過程
1、按下“Win+R”組合鍵呼出運行,在框中輸入“gpedit.msc”按下回車鍵打開“本地組策略編輯器”;
2、在本地策略組中依次展開:“計算機配置”-“管理模板”-“系統”-“Internet 通信管理”—“internet 通信設置”;
3、在窗口右側雙擊打開“關閉 Windows 網絡連接狀態指示器活動測試”,選擇“啟用”,點擊應用並確定即可。
校園網開機自動登錄