我经常去的一个地方有开放的免费 wifi,而且 wifi SSID 没有密码
但是,它是可以连接 wifi 的设备之一,但当您尝试访问网页时,它会首先将您重定向到登录页面,您必须在其中输入用户名和密码。用户名和密码很少更改(即至少一年没有更改)。
我的连接经常会断开,我必须再次经历登录过程,有没有办法使用 Linux 中的脚本来自动完成此操作?
谢谢
答案1
您可以使用命令执行此操作邮政:
POST http://[ADRESS]:[PORT]/ <<< 'auth_user=ID&auth_pass=PASSWORD&accept=Continue'
然后你只需要把这个脚本复制到文件夹中/etc/NetworkManager/dispatcher.d/
。当你使用 NetworkManager 连接到网络时,它会将使用的接口$1
以及这是连接还是断开连接传递$2
到你的脚本中。
#!/bin/bash
if [ "$1 $2" = 'wlan0 up' ]
then
essid=$(iwconfig wlan0 | grep -o 'ESSID:".*$' | sed 's/^ESSID:"\(.*\)".*$/\1/')
case "$essid" in
'Freewifi')
POST http://[ADRESS]:[PORT]/ <<< 'auth_user=ID&auth_pass=PASSWORD&accept=Continue' ;;
'Other')
POST http://[ADRESS]:[PORT] <<< 'accept_cgu=1' ;;
esac
fi
请注意在表单中填写所有必需的输入(有时有安全输入,并且在脚本中自动连接可能会非常复杂)。
很久以前,我执行了一个脚本来执行此操作,但我没有测试它。
希望这个答案能有所帮助。