Меню
Контакты
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Mikrotik Router OS API PHP. Как извлечь данные из Mikrotik Routerboard?

 21 Ноя 2011    MikroTik, Практика и программирование MikroTik

Научимся извлекать данные из Mikrotik Routerboard.

 

Mikrotik Routerboard список интерфейсов

Рис.1. Mikrotik Routerboard список интерфейсов.

 

На рисунке 1 мы видим данные об интерфейсах. Эти данные мы должны получить при помощи PHP API.

 

Mikrotik Router OS API PHP. Как извлечь данные из Mikrotik Routerboard?

Рис.2. Данные об интерфейсах в консоли.

 

Для того, чтобы увидеть информацию об интерфейсах, в консоли необходимо выполнить команду /interface print. Когда мы работаем с api, то вместо пробела используем символ слэш (/interface/print).

Приступим к написанию кода.

<?php

require('routeros_api.class.php');

$API = new routeros_api();

if ($API->connect('192.168.4.253', 'ubnt', 'ubnt')) {

print 'Соединение установлено';

$API->write('/interface/print');

$INTERFACE = $API->read(false);

$API->disconnect();

}

else {

print "Ошибка соединения";

}

?>

 

Разбираем код:

<?php

Подключаем файл с классом:

require('routeros_api.class.php');

Создаем объект класса:

$API = new routeros_api();

Соединяемся с устройством:

if ($API->connect('192.168.4.253', 'ubnt', 'ubnt')) {

Выводим сообщение об успешном соединении:

print 'Соединение установлено';

Вызываем метод write, который выполнит действие /interface/print на устройстве:

$API->write('/interface/print');

В переменную $INTERFACE заносим данные полученные методом read:

$INTERFACE = $API->read(false);

В результате мы получим массив данных, который можно вывести на экран:

print_r($INTERFACE)

 

Mikrotik Router OS API PHP. Как извлечь данные из Mikrotik Routerboard?

Рис.3. Результат работы скрипта.

 

$API->disconnect();

}

else {

print "Ошибка соединения";

}

?>

 

Сравниваем результаты

Рис.4. Сравниваем результаты.

 

Сравнение результатов работы скрипта и консоли подтверждает правильность выполнения скрипта.

 

Евгений Рудченко специально для ASP24.