校园网开机自动登录
一直想着做这个开机自动登录的。但是一直拖,其实也没什么,就几行脚本,一个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 网络连接状态指示器活动测试”,选择“启用”,点击应用并确定即可。