Использование командной строки для подключения к беспроводной сети с логином http

16636
Shane

Я пытаюсь подключиться к сети Wi-Fi, где он перехватывает все запросы и перенаправляет вас на страницу, где вы должны согласиться с условиями использования, прежде чем он позволит вам подключиться к реальному внешнему миру. Это довольно распространенная практика, и обычно она не представляет большой проблемы.

Тем не менее, у меня есть компьютер с сервером Ubuntu 9.10 без оконной системы. Как я могу использовать командную строку, чтобы согласиться с условиями использования? У меня нет доступа в Интернет на компьютере, чтобы загрузить пакеты через apt-get или что-то в этом роде. Конечно, я могу придумать любое количество обходных путей, но я подозреваю, что есть простой способ использовать wget, curl или что-то еще.

По сути, мне нужно решение командной строки для отправки HTTP-запроса POST, по сути, нажав на кнопку. Для дальнейшего использования было бы полезно узнать, как отправить запрос POST, скажем, с именем пользователя и паролем, если я когда-нибудь окажусь в такой ситуации в другом отеле или аэропорту.

10
see [this answer](http://superuser.com/questions/73503/dns-323-changing-upnp-update-interval/79269#79269) about using **curl** for a similar [command-line-webpage-button-pusher technique](http://curl.haxx.se/docs/httpscripting.html). i'd post it here but it'd just be a cut-n-paste job; no point in that. if you come up with exact steps to take, post as your own answer. quack quixote 14 лет назад 1

2 ответа на вопрос

7
ta.speot.is

Установите Lynx заранее, а затем используйте Lynx из командной строки. Lynx - это текстовый браузер.

В качестве альтернативы, вы можете попробовать использовать wget или curl, чтобы получить www.google.com, а затем проанализировать возвращенный файл HTTP.

**links** will do a better job than **lynx** -- it's a slightly more modern browser. (no really. use **links**. check your local package manager.) quack quixote 14 лет назад 5
+1 ссылки работает просто отлично. Действительно прост в использовании и отлично справляется с работой. Saif Bechan 14 лет назад 0
В этот раз я использовал этот ответ (скачал lynx с отдельного компьютера и передал файл через usb), но, возможно, пришло время научиться использовать curl. Shane 14 лет назад 0
5
dolmen

Вам нужно будет один раз взглянуть на источник формы входа в систему, чтобы узнать имена полей пользователя и пароля. Поскольку аутентификация перенаправляет все страницы, используйте любой URL, чтобы получить тот источник:

curl http://www.google.com > login.html 

Например, вы найдете:

<form method="POST" action="http://my-public-provider.com/agree.php"> <input type="checkbox" name="agree" value="yes">I agree <input type="submit" name="push" value="Send"> </form> 

Другой способ - использовать (на другом компьютере) прокси-сервер, такой как Fiddler2, чтобы увидеть, что браузер отправляет «по проводам».

Затем вы можете создать curlкоманду для публикации информации о форме:

curl -d "agree=yes&push=Send" http://my-public-provider.com/agree.php 

Если у вас его нет curl, можно написать простой HTTP-клиент с языком, который у вас может быть на платформе (Perl, Lua, Java ...).

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