Когда-то давно делал подобное через curl. Нужно сделать 2 вещи: найти submit на странице, и отправлять запрос POST утилитой curl, с указанными логином-паролем. Потом загрузить нужную страницу тем же curl.
Могут быть нюансы, типа капчи, или скриптов, которые не дадут выполнить подобное при помощи curl.
P.S. Когда-то делал скриптом на bash мониторинг двух поднятых соединений на маршрутизаторе dir-300, и если одно из них падало, скрипт заходил на него и нажимал кнопочку чтобы вручную поднять соединение.