Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Запускайте скрипты через API

    Запускайте скрипты через API

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Запускайте скрипты через API, RouterOS
     
    WILWAP
    Guest
    #1
    0
    10.06.2011 16:50:00
    У меня проблемы с запуском скрипта на моём RB. У меня RB112 с ROS v5.2. Я использую веб-сервер “wampserver” на Windows XP SP3. Пользуюсь API PHP классом и вот таким кодом:

    <?php
    require('routeros_api.class.php');
    $API = new routeros_api();
    $API->debug = true;
    if ($API->connect('111.111.111.111', 'LOGIN', 'PASSWORD')) {
       $API->write('/system/script/run');
       $API->write('=.id=miapi');
       $READ = $API->read(false);
       $API->disconnect();
    }
    ?>

    Этот код подключается к моему RB112 и после этого отключается, но скрипт “miapi” не запускается. Спасибо за помощь!
     
     
     
    tamilmaran
    Guest
    #2
    0
    17.07.2012 04:49:00
    Возможно ли получить такие данные, как конфигурация и информация о беспроводной сети, с одного Mikrotik на другой Mikrotik с помощью скриптов? У меня есть один GSM-модем, подключённый к роутеру. Я собираюсь использовать функцию приёма SMS, чтобы получать информацию с Mikrotik на свой мобильный телефон. Подключить все роутеры к отдельным GSM-модемам невозможно. Подскажите, пожалуйста, рабочее решение. Заранее спасибо!
     
     
     
    boen_robot
    Guest
    #3
    0
    17.07.2012 17:53:00
    Наверное, стоило создать отдельную тему, но ладно… По моему мнению, лучше всего использовать API для подключения как к роутеру, с которого нужно получить данные, так и к роутеру, на который эти данные надо передать. Насколько я знаю, нельзя настроить роутер так, чтобы он запускал скрипт сразу после получения SMS, но можно проверять это с определённым интервалом и запускать процесс передачи тогда. Можно использовать планировщик RouterOS, который будет активировать программу синхронизации через API, либо просто настроить программу синхронизации на регулярный запуск и подключаться к другим роутерам только если была получена SMS.
     
     
     
    sharkx64
    Guest
    #4
    0
    29.09.2012 17:31:00
    Всем привет. Хочу написать PHP-скрипт, который будет эквивалентен этой команде: /system script run [find name="myscript"]. То есть хочу выполнить скрипт на RouterBOARD, но использовать имя скрипта вместо его ID. Но я совсем новичок в ROS API и PHP… Хотелось бы попросить помощь =) Есть ли способ интерпретировать эту команду напрямую? Или мне нужно парсить вывод $API->write('/system/script/getall',false), чтобы получить ID? Заранее спасибо. P.S. Извиняюсь за мой английский =)
     
     
     
    janisk
    Guest
    #5
    0
    01.10.2012 10:19:00
    Можно использовать поле name для значения атрибута .id. Например, если у вас есть скрипт с именем по умолчанию «script1», то вызов через API /system/script/run =.id=script1 выполнит этот скрипт с таким именем.
     
     
     
    sharkx64
    Guest
    #6
    0
    01.10.2012 15:04:00
    ок, прежде всего, спасибо за ответ. Я попытался сделать так, как вы сказали, но ничего не происходит. Вот скрипт: <?php

    require('routeros_api.class.php');

    $API = new routeros_api();

    $API->debug = true;

    if ($API->connect('iphere', 'login', 'pass')) {

    $API->write('/system/script/run', false);
    $API->write("=.id=script1");

    $API->disconnect();

    }

    ?> Если я вместо “script1” вставляю “*06” (я имею в виду id скрипта), то всё работает отлично. Я что-то делаю не так?
     
     
     
    janisk
    Guest
    #7
    0
    03.10.2012 11:33:00
    Ну, я проверял это на версиях 5.20 и 5.21 (тестовая сборка), и скрипт действительно выполнялся по имени. В API вы не увидите никаких результатов выполнения скрипта, если только сам скрипт не сделает что-то, что можно проверить, например, установит поле комментария. Также, если вы отключитесь слишком быстро, вы можете прервать сессию раньше, чем команда выполнится, потому что роутер принимает команды подряд и возвращает результат, когда заканчивает. Так что читайте вывод в конце.
     
     
     
    chuddy
    Guest
    #8
    0
    24.04.2014 15:17:00
    Пожалуйста, как мне выполнить следующее с помощью RouterOS PHP API: [admin@MikroTik] ip hotspot user> add name=ex password=ex mac-address=01:23:45:67:89:AB limit-uptime=1h
     
     
     
    boen_robot
    Guest
    #9
    0
    24.04.2014 15:20:00
    Уже ответил в той другой теме.
     
     
     
    Toncek
    Guest
    #10
    0
    19.08.2020 15:18:00
    Работает для меня <?php
    ini_set("default_charset", "UTF-8");
    header('Content-Type: application/json; charset=utf-8');
    require('./routeros_api.class.php');
    $API = new RouterosAPI();
    $API->debug = false;
    if ($API->connect('192.168.1.1', 'user', 'pass')) {
       $API->write('/system/script/getall', false);
       $API->write('=.proplist=.id', false);
       $API->write('?name=wlan_on');
       $READ = $API->read(false);
       $ARRAY = $API->parseResponse($READ);
       if (isset($ARRAY['0']) && isset($ARRAY['0']['.id'])) {
           $API->write('/system/script/run', false);
           $API->write('=.id=' . $ARRAY['0']['.id']);
           $READ = $API->read(false);
           //$ARRAY = $API->parseResponse($READ);
           echo '{"name":"wlan_on","state":"OK"}';
       } else {
           echo '{"name":"wlan_on","state":"ERROR"}';
       }
       //print_r($ARRAY);
       $API->disconnect();
    }
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры