24

Мое подключение к интернету обеспечивается университетом. Он защищен комбинацией имени пользователя и пароля. Это означает, что когда я запускаю свой компьютер, мне нужно запустить веб-браузер и открыть произвольный веб-сайт. Затем я перенаправлен на страницу, которая (среди прочего) содержит две формы. В них я должен ввести имя пользователя и пароль. Мне удалось сделать это с Firefox (который может сохранить пароль), а также с помощью ссылок (который загружается быстрее и из командной строки).

Есть ли способ автоматизировать процесс входа в систему с помощью bash-скрипта? Это позволило бы выполнить вход при загрузке, чтобы он уже был там, когда я запускаю X-сервер.

5 ответов5

15

Вы можете попробовать это с помощью curl, вы можете просто использовать curl, как это, для входа на веб-страницу:

curl --user name:password http://somesite.com -v 

Вы можете передать данные на сайт, как это из ответа Stackoverflow

    curl -b cookies.txt -c cookies.txt --data "Username=xx&Password=xx&Login=Login" [urlthatyour form submits]

вам нужны файлы cookie, если вы хотите сделать еще один запрос скручивания после входа в систему. Идентификатор сеанса в файлах cookie поможет авторизовать следующий запрос скручивания.

Если вы не хотите куки, вы можете использовать

curl --data "Username=xx&Password=xx&Login=Login" [url that your form submits]

Вы можете дополнительно обратиться сюда для специальных команд

5

Наконец-то я нашел способ автоматического входа с помощью elinks . Это работает, и это даже легко настроить!

Необходимо установить два варианта. Это можно сделать, добавив следующие строки в ~/.elinks/elinks.conf (если файл отсутствует, создайте его) или изменив значения в соответствующих позициях в диалоговом окне параметров в elinks:

    # Save username and password for later use
set document.browse.forms.show_formhist = 1
    # Do not ask for confirmation before a form is submitted
set document.browse.forms.confirm_submit = 0

Шаги для сценариев автологина тогда:

  • Установите эти два варианта
  • Откройте страницу авторизации в elinks , заполните формы и отправьте их.
  • Выберите, чтобы запомнить имя и пароль для дальнейшего использования.
  • Закрыть elinks
  • Запустите elinks -auto-submit http://somesite.com

Последняя команда должна выполнить автоматический вход в систему без дальнейшего взаимодействия с пользователем.

Я на самом деле использую timeout 1m elinks -auto-submit http://somesite.com & , чтобы у меня не было постоянно запущенного процесса elinks в фоновом режиме.

3

Простой способ написать это с помощью Selenium.

Вы можете использовать их плагин Firefox "Test Recorder", чтобы записать тест своего входа в сеть, а затем воспроизвести тест.

0

Вы можете получить дополнение для вашего браузера, которое будет автоматически входить на веб-сайты с сохраненными паролями. Я использовал AutoAuth с Firefox. Затем вы входите один раз и сохраняете свои учетные данные, затем пишете скрипт, который просто

#!/bin/bash
firefox https://website address goes here

После выполнения, он пойдет и автоматический вход. Я пытался с несколькими сайтами, и это работало хорошо.

0

Да, есть очень простой способ войти в интернет вашего университета.Вы можете использовать веб-браузер Lynx , который является текстовым браузером, предназначенным для использования на терминале. Итак, вот путь:

$ echo "username=myname&password=mypassword" | lynx "url of the form" -post_data

где ' username ' - это имя поля, соответствующего имени пользователя в форме, а ' password ' - это имя поля, соответствующего полю пароля, а ' myname ' и ' mypassword ' - соответствующие значения, которые необходимо заполнить форма. Вы можете найти имя поля, используя «Проверка элемента» в любом браузере. Я попытался с curl, как указано в ответе BlueBerry - Vignesh4303, но не сработало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .