бесплатный wifi с веб-страницей входа в html - автоматический вход в систему?

Место, где я посещаю очень регулярно, имело бесплатный доступ к wifi без пароля на Wi-Fi SSID

Однако, это один из тех, где вы можете подключиться к Wi-Fi, но когда вы пытаетесь пойти на веб-страницу он сначала перенаправляет вас на страницу входа, где вы должны ввести имя пользователя и пароль. Имя пользователя и пароль очень редко меняются (т. Е. Он не изменяется не менее года).

Довольно часто мое соединение падает, и мне нужно снова пройти процесс входа в систему, есть ли способ автоматизировать его с помощью скрипт в Linux?

Спасибо

3
задан 4 May 2018 в 12:28

3 ответа

Вы можете выполнить это с помощью команды POST:

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

Будьте в курсе, чтобы заполнить все требуемый ввод в вашей форме (иногда есть ввод безопасности, и это может быть очень сложно автоматизировать связь в скрипте).

Это было давно, что я выполняю скрипт для выполнения этого, и я didn 't проверить это.

Надеюсь, что этот ответ поможет.

1
ответ дан 17 July 2018 в 15:16

Вы можете выполнить это с помощью команды POST:

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

Будьте в курсе, чтобы заполнить все требуемый ввод в вашей форме (иногда есть ввод безопасности, и это может быть очень сложно автоматизировать связь в скрипте).

Это было давно, что я выполняю скрипт для выполнения этого, и я didn 't проверить это.

Надеюсь, что этот ответ поможет.

1
ответ дан 20 July 2018 в 15:42

Вы можете выполнить это с помощью команды POST:

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

Будьте в курсе, чтобы заполнить все требуемый ввод в вашей форме (иногда есть ввод безопасности, и это может быть очень сложно автоматизировать связь в скрипте).

Это было давно, что я выполняю скрипт для выполнения этого, и я didn 't проверить это.

Надеюсь, что этот ответ поможет.

1
ответ дан 23 July 2018 в 16:13

Другие вопросы по тегам:

Похожие вопросы: