Використання командного рядка для підключення до бездротової мережі з http-логіном


12

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

Однак у мене є комп'ютер, на якому працює сервер Ubuntu 9.10 без системи вікон. Як я можу використовувати командний рядок, щоб погодитися з умовами використання? У мене немає доступу до Інтернету на комп’ютері для завантаження пакетів через apt-get або щось подібне. Звичайно, я можу придумати будь-яку кількість обхідних шляхів, але я підозрюю, що існує простий спосіб використовувати wget або curl чи щось подібне.

В основному мені потрібно рішення командного рядка для надсилання запиту HTTP POST, по суті натискання на кнопку. Для подальшої довідки було б корисно знати, як надіслати запит на пошту з, скажімо, ім’ям користувача та паролем, якщо я коли-небудь опинюся в цій ситуації в іншому готелі чи аеропорту.


1
див. цю відповідь про використання curl для аналогічної методи командного рядка-веб-сторінки-кнопки-натискання . Я опублікував би це тут, але це було б просто вирізаною роботою-вставки; немає сенсу в цьому. якщо ви придумали точні кроки, які потрібно виконати, опублікуйте як власну відповідь.
квакш-кіхот

Відповіді:


7

Встановіть Lynx заздалегідь, а потім використовуйте Lynx з командного рядка. Lynx - це текстовий браузер.

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


7
посилання зроблять кращу роботу, ніж рись - це трохи більш сучасний браузер. (насправді немає. використовуйте посилання . Перевірте свого місцевого менеджера пакунків.)
шарлатаний кіхот

+1 посилання працює просто чудово. Дійсно проста у використанні і робить роботу чудово.
Сайф Бечан

Цього разу я використав цю відповідь (завантажив рись на окремому комп’ютері та передав файл через usb), але, напевно, саме час я навчився використовувати curl.
Шейн

7

Вам доведеться один раз заглянути в джерело форми для входу, щоб дізнатися імена полів користувача та паролів. Коли аутентифікація переспрямовує всі сторінки, використовуйте будь-яку 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 ...).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.