Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    '/tool fetch' недоступен через API.

    '/tool fetch' недоступен через API.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    '/tool fetch' недоступен через API., RouterOS
     
    luqasz
    Guest
    #1
    0
    09.08.2012 14:43:00
    Привет. Хочу использовать fetch через API. Проблема в том, что через API, запуск fetch повторяет свой статус бесконечно, пока не будет прерван '/cancel'. Это создает сложности. Требуется, чтобы кто-то (например, я) реализовал совершенно другой метод для использования '/tool fetch' в Mikrotik через API. Это несовместимо со стандартом API и обработкой ошибок.

    Пример того, как выглядит успешная загрузка:

    <<< /tool/fetch
    <<< =url=http://ftp.pl.debian.org/debian/README
    <<<
    >>> !re
    >>> =status=connecting
    >>>
    >>> !re
    >>> =status=finished
    >>>
    >>> !re
    >>> =status=finished
    >>>
    >>> !re
    >>> =status=finished
    >>>
    >>> !re
    >>> =status=finished
    >>>
    /cancel

    <<< /cancel
    <<<
    >>> !trap
    >>> =category=2
    >>> =message=interrupted
    >>>
    >>> !done
    >>>
    >>> !done
    >>>

    Пример, когда загрузка не удалась:

    <<< /tool/fetch
    <<< =url=http://wp.pl/100
    <<<
    >>> !re
    >>> =status=connecting
    >>>
    >>> !re
    >>> =status=failed
    >>>
    >>> !re
    >>> =status=failed
    >>>
    >>> !re
    >>> =status=failed
    >>>
    >>> !re
    >>> =status=failed
    >>>
    >>> !re
    >>> =status=failed
    >>>
    /cancel

    <<< /cancel
    <<<
    >>> !trap
    >>> =category=2
    >>> =message=interrupted
    >>>
    >>> !done
    >>>
    >>> !trap
    >>> =message=failure: 301 Moved Permanently
    >>>
    >>> !done
    >>>

    Как видите в обоих случаях нужен '/cancel'.

    Что бы я (как разработчик) хотел бы видеть: когда fetch запускается, не выводить никакой информации. Просто ждать, пока не закончится загрузка/выгрузка. В случае успеха заканчивать это с помощью '!done'. Возвращать .id нового файла при завершении загрузки. В случае неудачи заканчивать это с помощью '!trap' и добавлять =msg=ДЕТАЛЬНОЕ СООБЩЕНИЕ О ПРОИЗОШЕДШЕМ. Это хорошо бы соответствовало концепциям API и облегчило бы перехват исключений. Это облегчит работу любому программисту без какого-либо "spagetti code".

    Разработчики Mikrotik, пожалуйста, присмотритесь к этому, потому что некоторые из нас действительно хотели бы видеть, как это работает без каких-либо "грязных хаков".

    Это также обсуждалось здесь:

    http://forum.mikrotik.com/t/solved-php-api-terminating-the-tool-fetch-command/51788/1
    http://forum.mikrotik.com/t/api-php-class/22551/1
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры