公司内部网络,每次需要登录。需要几步,选择WIFI 弹出登录页,输入用户密码才可登录成功。
因此,有一个想法利用脚本进行wifi自动登录。
提供一些思路,做出来体验不好,凑合能用,路过大神予以改进。
实现情况如下
1.需要获取登录url。就是弹出界面需要登录的url
利用抓包软件,可以做此事。mac中软件charles
主要是抓取登录时候的curl。如此可以通过curl命令直接进行登录。
2.自动切换WIFI网络
利用mac中带有的命令
networksetup -setairportnetwork en0 {wifiname} '{password}'
# password 单引号是为了防止密码中有特殊字符
# 该命令为异步命令,导致目前写的脚本体验不好。
3.脚本聚合
#切换公司网络
networksetup -setairportnetwork en0 {wifiname} '{password}'
# 只能通过等待来进行后一步登录操作
sleep 10
# 直接停止弹出窗口进程
kill -9 `ps -ef|grep 'Captive Network Assistant Networking'|grep -v 'grep'|awk '{print $2}'`
kill -9 `ps -ef|grep 'Captive Network Assistant'|grep -v 'grep'|awk '{print $2}'`
# 然后执行curl进行登录
curl -H 'Host: xxx.xxx.xxx.xxx:xxxx'
mac 电脑有个问题,登录后会自动弹出登录框。如果弹出登录框,则curl命令也无法进行执行,由此还需要关闭弹出框,让脚本继续执行。
现在通过命令将弹窗关闭,可以做到无需其他操作,一键登录 wifi
4.利用automator.app创建一个app来执行脚本


简单调用脚本,然后另存为程序,以后就可以直接点图标进行执行了。

本文介绍如何使用脚本自动登录公司内部网络WiFi。包括获取登录URL、自动切换WiFi网络、聚合脚本并利用automator创建应用一键执行。解决登录后自动弹出登录框的问题。
4231

被折叠的 条评论
为什么被折叠?



