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

    Fetch — как получить доступ к переменной данных?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Fetch — как получить доступ к переменной данных?, RouterOS
     
    ssbaksa
    Guest
    #1
    0
    26.04.2018 12:35:00
    Как получить доступ к переменной данных при использовании output=user? [admin@mtTest] > /tool fetch output= Output ::= file | none | user none – не сохранять загруженные данные user – вернуть до 63 кбайт данных напрямую в переменную ‘data’ без сохранения на диск file – сохранить в файл
     
     
     
    merlinthemagic7
    Guest
    #2
    0
    20.03.2019 10:17:00
    Предполагаю, что это то, что вам нужно:

    :local strData [ /tool fetch mode=https output=user url="https://ipinfo.io/ip" as-value ];
    :local arrData [ :toarray $strData ];
    :local varData ( $arrData->"data" );  
    :put [ $varData ];

    Я разбил преобразования типов на отдельные переменные, но, конечно, всё это можно упростить. Если хотите получить статус загрузки:  

    :local strData [ /tool fetch mode=https output=user url="https://ipinfo.io/ip" as-value ];
    :local arrData [ :toarray $strData ];
    :local varData ( $arrData->"status" );  
    :put [ $varData ];
     
     
     
    Jotne
    Guest
    #3
    0
    21.03.2019 07:52:00
    Поскольку у вас уже есть всё в одной строке с множеством команд, разделённых точкой с запятой, можно сделать всё за один раз.  
    data :put ([/tool fetch mode=https output=user url="https://ipinfo.io/ip" as-value ]->"data")
    status :put ([/tool fetch mode=https output=user url="https://ipinfo.io/ip" as-value ]->"status")

    Для IP с помощью этого метода массива получается лишний перенос строки. Не уверен, как от него избавиться.
     
     
     
    tangram
    Guest
    #4
    0
    17.04.2019 12:44:00
    Как насчёт этого? :put ([/tool fetch url="https://api.ipify.org/" mode=http dst-path=ipcheck output=user as-value]->"data")
     
     
     
    Jotne
    Guest
    #5
    0
    17.04.2019 18:17:00
    Можно сделать ещё короче. Этот сайт получше, потому что не добавляет лишнюю пустую строку. :put ([/tool fetch url="https://api.ipify.org/" output=user as-value]->"data")
     
     
     
    tangram
    Guest
    #6
    0
    18.04.2019 09:21:00
    Есть идеи, как сделать так, если у тебя несколько провайдеров, чтобы получить адреса всех из них? У меня в маршрутах назначены разные приоритеты (distance) и настроены mangle input/output для конкретных таблиц маршрутизации. В итоге весь трафик идет через основной провайдер, но к роутеру можно обратиться через любого из провайдеров. Я пробовал использовать src-address, но всегда получаю ответ от основного провайдера. Также пытался задать отдельный маршрут для ipify, но это не сработало.
     
     
     
    floaty
    Guest
    #7
    0
    06.01.2023 18:55:00
    Просто задаюсь вопросом… почему в Mikrotik можно так делать, например: put ([/tool fetch url="https://api.ipify.org/" output=user as-value]->"data")… (вы можете попробовать это на https://www.your-xxxx-site.com)… а вот следующее нельзя присвоить переменной:  
    /tool snmp-get security=private authentication-protocol=SHA1 authentication-password=*** encryption-protocol=AES encryption-password=*** version=3 community=**user** address=**IP** oid=1.3.6.1.2.1.33.1.1.1.0  

    Это какой-то вопрос безопасности, который я упускаю? Или просто забыли реализовать?  

    SNMP-OID (как правило) возвращает один конкретный кусок информации из дерева, а html-запрос обычно возвращает… ну… полное месиво.  

    Объясните, пожалуйста, как это работает.
     
     
     
    floaty
    Guest
    #8
    0
    06.01.2023 19:22:00
    [admin@***] > /tool snmp-get security=private authentication-protocol=SHA1 authentication-password=* encryption-protocol=AES encryption-password=* version=3 community=* address=* oid=1.3.6.1.2.1.33.1.1.1.0
    OID                                                                                         TYPE             VALUE                                                                                        
    1.3.6.1.2.1.33.1.1.1.0                                                                      octet-string     Alpha                                                                                        

    [admin@***] > Может, «as-value» просто нужно добавить в конце (строки кода)… ведь «VALUE» уже есть, да?!
     
     
     
    rextended
    Guest
    #9
    0
    07.01.2023 08:54:00
    (Просто это не реализовано) Зачем захватывать другую тему? Уже отвечали в другой ветке, просто поищи… http://forum.mikrotik.com/t/routeros-snmp-get/121369/1
     
     
     
    floaty
    Guest
    #10
    0
    09.01.2023 20:22:00
    (очевидно!). Пост был о том, почему это реализовано для метода comparable (fetch) и возможных причинах (… почему не для snmp)… так что, пожалуйста, читай внимательнее. Я поискал на форуме… нашёл твой пост… и не стал внедрять это наполовину, поэтому и задал этот вопрос.
     
     
     
    rextended
    Guest
    #11
    0
    10.01.2023 00:34:00
    вместе с «единорогом»?
     
     
     
    floaty
    Guest
    #12
    0
    10.01.2023 01:21:00
    :) образное выражение для «веб-сайта», который даёт адекватный ответ
     
     
     
    Amm0
    Guest
    #13
    0
    14.04.2023 16:32:00
    Параметр “as-value” с /tool/snmp-get доступен в версии v7.8: http://forum.mikrotik.com/t/saving-snmp-to-variable/144455/1
     
     
     
    floaty
    Guest
    #14
    0
    19.04.2023 09:30:00
    великолепно
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры