admin管理员组

文章数量:1627944

公司内部网络,每次需要登录。需要几步,选择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来执行脚本



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

本文标签: 脚本公司Macwifi