Я часто подключаюсь к сети, которая открыта, но перед использованием на веб-странице требуется проверка подлинности ключа. Возможно ли автоматизировать аутентификацию со сценарием?
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я предлагаю вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот небольшой пример, адаптированный из библиотеки Механизма Python :
import sys
from mechanize import ParseResponse, urlopen, urljoin
# replace this with the actual login page
# you'll need to do some research
uri = "http://theloginpage.com/"
response = urlopen(uri)
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form
form["username"] = "your username"
form["username"] = "password"
# form.click() returns a mechanize.Request object
# (see HTMLForm.click.__doc__ if you want to use only the forms support, and
# not the rest of mechanize)
print urlopen(form.click()).read()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d должна работать, но я предлагаю вам префикс вашего кода с проверкой, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я предлагаю вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот небольшой пример, адаптированный из библиотеки Механизма Python :
import sys
from mechanize import ParseResponse, urlopen, urljoin
# replace this with the actual login page
# you'll need to do some research
uri = "http://theloginpage.com/"
response = urlopen(uri)
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form
form["username"] = "your username"
form["username"] = "password"
# form.click() returns a mechanize.Request object
# (see HTMLForm.click.__doc__ if you want to use only the forms support, and
# not the rest of mechanize)
print urlopen(form.click()).read()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d должна работать, но я предлагаю вам префикс вашего кода с проверкой, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я предлагаю вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот небольшой пример, адаптированный из библиотеки Механизма Python :
import sys
from mechanize import ParseResponse, urlopen, urljoin
# replace this with the actual login page
# you'll need to do some research
uri = "http://theloginpage.com/"
response = urlopen(uri)
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form
form["username"] = "your username"
form["username"] = "password"
# form.click() returns a mechanize.Request object
# (see HTMLForm.click.__doc__ if you want to use only the forms support, and
# not the rest of mechanize)
print urlopen(form.click()).read()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d должна работать, но я предлагаю вам префикс вашего кода с проверкой, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я предлагаю вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот небольшой пример, адаптированный из библиотеки Механизма Python :
import sys
from mechanize import ParseResponse, urlopen, urljoin
# replace this with the actual login page
# you'll need to do some research
uri = "http://theloginpage.com/"
response = urlopen(uri)
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form
form["username"] = "your username"
form["username"] = "password"
# form.click() returns a mechanize.Request object
# (see HTMLForm.click.__doc__ if you want to use only the forms support, and
# not the rest of mechanize)
print urlopen(form.click()).read()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d должна работать, но я предлагаю вам префикс вашего кода с проверкой, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я предлагаю вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот небольшой пример, адаптированный из библиотеки Механизма Python :
import sys
from mechanize import ParseResponse, urlopen, urljoin
# replace this with the actual login page
# you'll need to do some research
uri = "http://theloginpage.com/"
response = urlopen(uri)
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form
form["username"] = "your username"
form["username"] = "password"
# form.click() returns a mechanize.Request object
# (see HTMLForm.click.__doc__ if you want to use only the forms support, and
# not the rest of mechanize)
print urlopen(form.click()).read()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d должна работать, но я предлагаю вам префикс вашего кода с проверкой, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я бы посоветовал вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот быстрый пример, адаптированный из их документов в формах :
import sys из механизации импорта ParseResponse, urlopen, urljoin # заменить это на фактическую страницу входа # необходимо выполнить некоторые исследования uri = "http://theloginpage.com/" response = urlopen (uri) forms = ParseResponse (response, backwards_compat = False) form = forms [0] форма формы печати ["username"] = "your username "form [" username "] =" password "# form.click () возвращает объект mechanize.Request # (см. HTMLForm.click .__ doc__, если вы хотите использовать только поддержку форм, а # не остальную часть механизации) print urlopen (form.click ()). read ()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d
должна работать, но я предлагаю вам прикрепить свой код к проверке, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я бы посоветовал вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот быстрый пример, адаптированный из их документов в формах :
import sys из механизации импорта ParseResponse, urlopen, urljoin # заменить это на фактическую страницу входа # необходимо выполнить некоторые исследования uri = "http://theloginpage.com/" response = urlopen (uri) forms = ParseResponse (response, backwards_compat = False) form = forms [0] форма формы печати ["username"] = "your username "form [" username "] =" password "# form.click () возвращает объект mechanize.Request # (см. HTMLForm.click .__ doc__, если вы хотите использовать только поддержку форм, а # не остальную часть механизации) print urlopen (form.click ()). read ()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d
должна работать, но я предлагаю вам прикрепить свой код к проверке, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я бы посоветовал вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот быстрый пример, адаптированный из их документов в формах :
import sys из механизации импорта ParseResponse, urlopen, urljoin # заменить это на фактическую страницу входа # необходимо выполнить некоторые исследования uri = "http://theloginpage.com/" response = urlopen (uri) forms = ParseResponse (response, backwards_compat = False) form = forms [0] форма формы печати ["username"] = "your username "form [" username "] =" password "# form.click () возвращает объект mechanize.Request # (см. HTMLForm.click .__ doc__, если вы хотите использовать только поддержку форм, а # не остальную часть механизации) print urlopen (form.click ()). read ()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d
должна работать, но я предлагаю вам прикрепить свой код к проверке, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я бы посоветовал вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот быстрый пример, адаптированный из их документов в формах :
import sys из механизации импорта ParseResponse, urlopen, urljoin # заменить это на фактическую страницу входа # необходимо выполнить некоторые исследования uri = "http://theloginpage.com/" response = urlopen (uri) forms = ParseResponse (response, backwards_compat = False) form = forms [0] форма формы печати ["username"] = "your username "form [" username "] =" password "# form.click () возвращает объект mechanize.Request # (см. HTMLForm.click .__ doc__, если вы хотите использовать только поддержку форм, а # не остальную часть механизации) print urlopen (form.click ()). read ()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d
должна работать, но я предлагаю вам прикрепить свой код к проверке, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
Какая забавная проблема.
Хотя я уверен, что ответ ændrük, вероятно, сработает, я немного не согласен с тем, чтобы что-то зависящее от настольного программного обеспечения управляло доступностью сети.
Я бы посоветовал вам поиграть с библиотекой Mechanize Python. Вы можете установить его из репозиториев через:
sudo apt-get install python-mechanize
Затем получите скрипты. Вам нужно начать с выяснения структуры страницы, на которую вы отправляете. Вам нужно найти, где вы формируетесь, и какие поля нужно вводить для отправки. Как только вы это знаете, это действительно так просто, как просто написать быстрый маленький парсер и подателя. Механизация делает весь тяжелый подъем. Вот быстрый пример, адаптированный из их документов в формах :
import sys из механизации импорта ParseResponse, urlopen, urljoin # заменить это на фактическую страницу входа # необходимо выполнить некоторые исследования uri = "http://theloginpage.com/" response = urlopen (uri) forms = ParseResponse (response, backwards_compat = False) form = forms [0] форма формы печати ["username"] = "your username "form [" username "] =" password "# form.click () возвращает объект mechanize.Request # (см. HTMLForm.click .__ doc__, если вы хотите использовать только поддержку форм, а # не остальную часть механизации) print urlopen (form.click ()). read ()
В зависимости от того, как работает их система, этого может быть достаточно. Возможно, вам придется завязать какой-то куки-файл, чтобы поддерживать сеанс в то время, когда он включает соединение, но, с технической точки зрения, нет аргументов, почему они должны требовать этого.
Тогда вам просто нужно связать это с так что он получает вызов. Загрузка его из /etc/network/if-up.d
должна работать, но я предлагаю вам прикрепить свой код к проверке, чтобы убедиться, что вы действительно находитесь в точке доступа, в которой работает ваш вход.
В зависимости от типа доступного портала на месте вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (использовать данные Tamper, чтобы узнать, какие данные нужно отправить) или с помощью скрипта iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d, чтобы он запускался каждый раз при установлении сетевого соединения. Попросите сценарий проверить, в какой сети вы работаете с iwconfig, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername, чтобы вы не запускали ваш веб-браузер как root.
В зависимости от типа доступного портала на месте вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (использовать данные Tamper, чтобы узнать, какие данные нужно отправить) или с помощью скрипта iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d, чтобы он запускался каждый раз при установлении сетевого соединения. Попросите сценарий проверить, в какой сети вы работаете с iwconfig, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername, чтобы вы не запускали ваш веб-браузер как root.
В зависимости от типа доступного портала на месте вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (использовать данные Tamper, чтобы узнать, какие данные нужно отправить) или с помощью скрипта iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d, чтобы он запускался каждый раз при установлении сетевого соединения. Попросите сценарий проверить, в какой сети вы работаете с iwconfig, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername, чтобы вы не запускали ваш веб-браузер как root.
В зависимости от типа доступного портала на месте вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (использовать данные Tamper, чтобы узнать, какие данные нужно отправить) или с помощью скрипта iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d, чтобы он запускался каждый раз при установлении сетевого соединения. Попросите сценарий проверить, в какой сети вы работаете с iwconfig, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername, чтобы вы не запускали ваш веб-браузер как root.
В зависимости от типа доступного портала на месте вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (использовать данные Tamper, чтобы узнать, какие данные нужно отправить) или с помощью скрипта iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d, чтобы он запускался каждый раз при установлении сетевого соединения. Попросите сценарий проверить, в какой сети вы работаете с iwconfig, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername, чтобы вы не запускали ваш веб-браузер как root.
В зависимости от типа доступного портала на месте, вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (используйте Tamper Data , чтобы узнать, какие данные нужно отправлять) или с помощью скрипт iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d
, чтобы он запускался каждый раз, когда сеть соединение установлено. Попросите сценарий проверить, в какой сети вы работаете с iwconfig
, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername
, чтобы вы не запускали свой веб-браузер как root.
В зависимости от типа доступного портала на месте, вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (используйте Tamper Data , чтобы узнать, какие данные нужно отправлять) или с помощью скрипт iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d
, чтобы он запускался каждый раз, когда сеть соединение установлено. Попросите сценарий проверить, в какой сети вы работаете с iwconfig
, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername
, чтобы вы не запускали свой веб-браузер как root.
В зависимости от типа доступного портала на месте, вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (используйте Tamper Data , чтобы узнать, какие данные нужно отправлять) или с помощью скрипт iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d
, чтобы он запускался каждый раз, когда сеть соединение установлено. Попросите сценарий проверить, в какой сети вы работаете с iwconfig
, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername
, чтобы вы не запускали свой веб-браузер как root.
В зависимости от типа доступного портала на месте, вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (используйте Tamper Data , чтобы узнать, какие данные нужно отправлять) или с помощью скрипт iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d
, чтобы он запускался каждый раз, когда сеть соединение установлено. Попросите сценарий проверить, в какой сети вы работаете с iwconfig
, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername
, чтобы вы не запускали свой веб-браузер как root.
В зависимости от типа доступного портала на месте, вы можете пройти аутентификацию через запрос POST, отправленный с помощью Wget (используйте Tamper Data , чтобы узнать, какие данные нужно отправлять) или с помощью скрипт iMacros в Firefox.
Вы можете добавить скрипт к /etc/network/if-up.d
, чтобы он запускался каждый раз, когда сеть соединение установлено. Попросите сценарий проверить, в какой сети вы работаете с iwconfig
, прежде чем что-либо делать, и не забудьте запустить команды с помощью sudo -u yourusername
, чтобы вы не запускали свой веб-браузер как root.