Я использую Pear2/Net_RouterOS PHP API, разрабатываю приложение и у меня два вопроса.
Первое: когда я пытаюсь получить данные через ip/hotspot/host/print, возвращается ограниченный набор информации, не все, например, Tx/Rate и Bytes-Out отсутствуют. Хотя в версии 6.32 MikroTik возвращал только значение Bytes-Out, а в версии 5.26 он этого уже не делает. Как мне получить все данные или хотя бы значения Tx-Rate и Bytes-Out на версии 5.26?
Второе: каждый раз, когда мой скрипт выполняет какое-то действие, в логе Winbox появляется запись: user admin logged in via api, а затем user admin logged out via api. Думаю, это может вызывать задержки и сбои в работе MikroTik. Но если сохранить соединение и использовать его один раз на продолжительное время — тогда, вероятно, всё будет нормально, без лагов и ошибок.
Мой код:
try {
$util = new RouterOS\Util(
$client = new RouterOS\Client('10.0.0.1', 'admin', 'password')
);
} catch (Exception $e) {
die($e);
}
$gethosts = $client->sendSync(new RouterOS\Request('/ip/hotspot/host/print'));
foreach ($gethosts as $host) {
if ($host->getType() === Response::TYPE_DATA) {
var_dump($host);
}
}
Я приложил скриншот с данными, которые возвращает API.
Спасибо!
Первое: когда я пытаюсь получить данные через ip/hotspot/host/print, возвращается ограниченный набор информации, не все, например, Tx/Rate и Bytes-Out отсутствуют. Хотя в версии 6.32 MikroTik возвращал только значение Bytes-Out, а в версии 5.26 он этого уже не делает. Как мне получить все данные или хотя бы значения Tx-Rate и Bytes-Out на версии 5.26?
Второе: каждый раз, когда мой скрипт выполняет какое-то действие, в логе Winbox появляется запись: user admin logged in via api, а затем user admin logged out via api. Думаю, это может вызывать задержки и сбои в работе MikroTik. Но если сохранить соединение и использовать его один раз на продолжительное время — тогда, вероятно, всё будет нормально, без лагов и ошибок.
Мой код:
try {
$util = new RouterOS\Util(
$client = new RouterOS\Client('10.0.0.1', 'admin', 'password')
);
} catch (Exception $e) {
die($e);
}
$gethosts = $client->sendSync(new RouterOS\Request('/ip/hotspot/host/print'));
foreach ($gethosts as $host) {
if ($host->getType() === Response::TYPE_DATA) {
var_dump($host);
}
}
Я приложил скриншот с данными, которые возвращает API.
Спасибо!