Меню
Контакты
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   Сб-вс: выходной
Заказать звонок

Что такое API и как мы можем использовать его в работе Mikrotik Router OS?

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

Поговорим об использовании API в Mikrotik Router OS.

(API) Интерфейс программирования приложений (иногда, интерфейс прикладного программирования) (application programming interface, API [эй-пи-ай]) — это набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.

Mikrotik Router OS также предоставляет API для взаимодействия с устройствами Mikrotik Routerboard при помощи приложений, написанных на различных языках программирования.

Рассмотрим возможность использования API в PHP.

Для взаимодействия с Mikrotik Router OS при помощи API, из PHP есть готовый класс  https://wiki.mikrotik.com/wiki/API_PHP_class#Example_1.

 

PHP класс для работы с API Mikrotik Router OS

Рис.1. PHP класс для работы с API Mikrotik Router OS.

 

Создадим файл routeros_api.class.php и поместим в него классы для взаимодействия с API Mikrotik Router OS.

Также создадим файл router_connect.php, в котором будем писать свой код.

Перед тем как приступить к работе с API, необходимо включить нужный сервис.

 

Рис.2. Mikrotik Router OS IP Services.

 

Переходим в раздел IP Services.

 

Mikrotik Router OS сервис api

Рис.3. Mikrotik Router OS сервис api.

 

Включаем сервис с именем api.

Приступим к написанию кода. Выполним соединение с устройством Mikrotik Routerboard.

<?php

require('routeros_api.class.php');

$API = new routeros_api();

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

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

$API->disconnect();

}

else {

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

}

?>

 

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

<?php

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

require('routeros_api.class.php');

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

$API = new routeros_api();

Добавляем условный оператор if else. В качестве условия, вызываем метод для соединения с устройством Mikrotik Routerboard и передаем в него параметры соединения:

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

Если соединение прошло успешно, выводим сообщение:

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

 

Сообщение об успешном соединении с Mikrotik Routerboard

Рис.4. Сообщение об успешном соединении с Mikrotik Routerboard.

 

Вызываем метод disconnect() и разрываем соединение с устройством Mikrotik Routerboard:

$API->disconnect();

}

else {

Если по каким-то причинам устройство Mikrotik Routerboard оказалось недоступно, выводим сообщение об ошибке:

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

 

Сообщение об ошибке соединения с Mikrotik Routerboard

Рис.5. Сообщение об ошибке соединения с Mikrotik Routerboard.

 

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