
Я хочу иметь возможность запускать какие-либо команды shell-скрипта/curl для переключения моих ТВ-сервисов, открывая форму на странице моего маршрутизатора с помощью curl или wget.
Мне удалось обойти аутентификацию, используя -u имя_пользователя:пароль в командной строке; Перешел на критическую страницу, используя
/index.cgi?page=services&sessionid=X6dRAsbOxWh9sc9llfGngL9lH4rQOsA>
(Я попробовал без параметра sessionid и -u, и это работает)
Я достаточно далеко продвинулся, чтобы иметь возможность устанавливать элементы управления HTML, но где-то кнопка сохранения вызывает фрагмент JavaScript. Я знаю, что имя кнопки выбора — «services», а значение может быть 0 или 1, но я не знаю, как вызвать FormSubmit('butt2') для отправки значений. Я могу инициализировать cookie jar … Кажется, я так близко, но выполнение скрипта с установленными значениями и правильным параметром 'butt2'
Пожалуйста помоги
Отчаянный папа
решение1
Что вам нужно сделать, этонетзагрузите страницу, заполните форму и отправьте ее — но вместо этого просто отправьте те же данные напрямую в то же место, куда вы обычно отправляете форму вручную.
Если вы посмотрите на JS на этой странице, в какой-то момент он выполнит form.submit или ajax submit на URL. Что вам нужно сделать, так это напрямую POST отправить те же данные на тот же URL, что и форма, но используя вместо этого CURL/WGET.
Вот несколько ответов, которые объясняют, как это сделать и как узнать, какие данные вам необходимо предоставить: