Работа с curl в сторону Mikrotik. Rest API

Обсуждение ПО и его настройки
Ответить
Аватара пользователя
podarok66
Модератор
Сообщения: 4060
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Понадобилось вытаскивать из Микротика один параметр в локалке. Как оказалось, проще всего и короче всего использовать REST API. Так как это моя личная локалка, с шифрованием не заморачивался. Открыл сервис www только для своей подсети и с разных машин настраивал сработку скрипта по изменению параметра. Сам скрипт не имеет значения сейчас, а вот строка запроса мне понравилась. Итак для Linux надо доставить пакеты jq и curl и погнали:

Код: Выделить всё

curl -sk -u 'ВАШ_ЛОГИН:ВАШ_ПАРОЛЬ' http://IP_РОУТЕРА/rest/system/script/environment/*1 | jq -r '."value"'
Для Windows надо обязательно проверить, есть ли пакет curl, поставить, если есть и там вот так в обычной командной строке ( не надо в PowerShell):

Код: Выделить всё

curl -s -k -u ВАШ_ЛОГИН:ВАШ_ПАРОЛЬ http://IP_РОУТЕРА/rest/system/script/environment/*1 | powershell -Command "$input | ConvertFrom-Json | Select-Object -ExpandProperty 'value'"
Это поиск по .id, если по имени, там лишь поставить имя скрипта вместо .id

Код: Выделить всё

curl -sk -u 'ВАШ_ЛОГИН:ВАШ_ПАРОЛЬ' http://IP_РОУТЕРА/rest/system/script/environment/CheckReboot | jq -r '."value"'
Нужно еще раз напомнить, что передача паролей в открытом виде это зло. И конечно в продакшн можно работать только по https и никак иначе


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить