Вы определенно должны быть в состоянии достичь того, что вы хотите, так или иначе. Вопрос в том, какой уровень абстракции вы хотите использовать.
Вы пробовали низкоуровневый способ: пытаться эмулировать запросы с помощью curl или скрипта Python. Я думаю, что это хороший подход и должен быть выполнимым. (Например, сравните этот супер простой вызов curl на маршрутизаторе TP-Link . Базовая аутентификация и реферер - это все, что здесь нужно - эй, возможно, реферер - это все, что вам тоже нужно?) Но без просмотра веб-интерфейса я не могу предложить конкретный совет.
Тогда есть высокоуровневый способ: используйте безголовый браузер и имитируйте точные пользовательские данные на странице. CasperJS может подойти; их документы должны дать вам хорошую отправную точку. Конечно, это, возможно, довольно жестокий способ, но он справится с работой.