Я пытаюсь подключиться к сети Wi-Fi, где он перехватывает все запросы и перенаправляет вас на страницу, где вы должны согласиться с условиями использования, прежде чем он позволит вам подключиться к реальному внешнему миру. Это довольно распространенная практика, и обычно она не представляет большой проблемы.
Тем не менее, у меня есть компьютер с сервером Ubuntu 9.10 без оконной системы. Как я могу использовать командную строку, чтобы согласиться с условиями использования? У меня нет доступа в интернет на компьютере для загрузки пакетов через apt-get или что-то подобное. Конечно, я могу придумать любое количество обходных путей, но я подозреваю, что есть простой способ использовать wget, curl или что-то еще.
По сути, мне нужно решение командной строки для отправки HTTP-запроса POST, по сути, нажав на кнопку. Для дальнейшего использования было бы полезно узнать, как отправить запрос POST, скажем, с именем пользователя и паролем, если я когда-нибудь окажусь в такой ситуации в другом отеле или аэропорту.
Ответы:
Установите Lynx заранее, а затем используйте Lynx из командной строки. Lynx - это текстовый браузер.
Кроме того, вы можете попробовать использовать wget или curl, чтобы получить www.google.com, а затем проанализировать возвращенный файл HTTP.
источник
Вам нужно будет один раз взглянуть на источник формы входа в систему, чтобы узнать имена полей пользователя и пароля. Поскольку аутентификация перенаправляет все страницы, используйте любой URL, чтобы получить тот источник:
Например, вы найдете:
Другой способ - использовать (на другом компьютере) прокси-сервер, такой как Fiddler2, чтобы увидеть, что браузер отправляет «по проводам».
Затем вы можете создать
curl
команду для публикации информации о форме:Если у вас его нет
curl
, можно написать простой HTTP-клиент с языком, который у вас может быть на платформе (Perl, Lua, Java ...).источник