带有网页 html 登录页面的免费 wifi - 自动登录?

ica*_*bop 5 scripts login

我经常访问的地方有开放访问的免费 wifi,wifi SSID 上没有密码

但是,它是您可以连接到 wifi 的方式之一,但是当您尝试访问网页时,它首先会将您重定向到登录页面,您必须在其中输入用户名和密码。用户名和密码很少更改(即至少一年没有更改)。

我的连接经常掉线,我必须再次完成登录过程,有没有办法在 Linux 中使用脚本自动执行此操作?

谢谢

小智 3

您可以使用命令POST执行此操作:

POST http://[ADRESS]:[PORT]/ <<< 'auth_user=ID&auth_pass=PASSWORD&accept=Continue'
Run Code Online (Sandbox Code Playgroud)

然后你只需要把这个脚本复制到文件夹中即可/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
Run Code Online (Sandbox Code Playgroud)

请注意在表单中填写所有必需的输入(有时存在安全输入,并且在脚本中自动连接可能非常复杂)。

那是很久以前我执行一个脚本来执行此操作,但我没有测试它。

希望这个答案有帮助。