无论您在MikroTik上碰到什么问题,本站都可以为您排忧解难。远离烦恼,腾出您宝贵的精力和时间处理更加有价值的事情。 注册 | 登陆

ROS云变量服务(已开放)

由于在某些情况下需要多个ROS的变量信息交换或者汇总计算,特此开发ROS云变量服务。完全免费开放使用。
本接口目前仅限于mikrotik系统接入。接入本接口代码已开放。

服务语言环境:golang和redis
 
当前已支持的功能:
1.无需注册,直接使用。
2.使用用户自己生成的token来作为鉴权。
3.可支持同时提交更新多个变量。
4.可支持获取单个变量。
5.可支持在线生成一个随机的token字符串
 
限制:
1.token长度必须在8-48位之间。(建议数字和字母组合随机生成一个)
2.变量名长度必须在3-16位之间。(避免使用特殊字符)
3.变量内容无限制。(不建议使用特殊字符)
4.如果某个变量没有任何更新和调用,将在3天后自动清空。
5.仅支持6.43以上版本。
 
 
接口调用示例
  1. 浏览器直接打开(https://mail.ros6.com:5656/newtoken)可获取一个新的安全token,用于后面鉴权。  
  2.   
  3. ###更新/新增单个变量示例###  
  4. :local testbl "test测试"  
  5. ###以下token请自行修改###  
  6. :local mycvtoken "dIzvnKB8ests"  
  7. [/tool fetch url="https://mail.ros6.com:5656/update&testbl=$testbl" check-certificate=no as-value output=user http-header-field=("Token:".$mycvtoken)]  
  8.   
  9. ###更新/新增多个变量示例###  
  10. :local testbl "test测试"  
  11. :local testbl2 "test2"  
  12. ###以下token请自行修改###  
  13. :local mycvtoken "dIzvnKB8ests"  
  14. [/tool fetch url="https://mail.ros6.com:5656/update&testbl=$testbl&testbl2=$testbl2" check-certificate=no as-value output=user http-header-field=("Token:".$mycvtoken)]  
  15.   
  16. ###获取变量示例###  
  17. ###以下token请自行修改###  
  18. :local mycvtoken "dIzvnKB8ests"  
  19. :local result [/tool fetch url="https://mail.ros6.com:5656/get&testbl" check-certificate=no as-value output=user http-header-field=("Token:".$mycvtoken)]  
  20. :if ($result->"status" = "finished"do={  
  21. :global gettestbl ($result->"data")  
  22. :log warning $gettestbl  
  23. }  

Tags: 变量, 传递, 跨设备, 存储,

« 上一篇 | 下一篇 »

 

5条记录访客评论

引用 Leon 说过的话:
老大,这个api开源吗?

不好意思,只提供接口,不提供源码。

Post by 熊茂祥 on 2021, June 17, 10:14 PM 引用此文发表评论 #1

老大,这个api开源吗?

Post by Leon on 2021, June 12, 7:53 PM 引用此文发表评论 #2

就是高手,一下,就好了,全部能正常运行了。感谢。[quote=熊茂祥][/quote]

Post by 偶然 on 2021, March 1, 8:04 PM 引用此文发表评论 #3

引用 oyran 说过的话:
:log warning $gettestbl   从云上得到另一地方IP地址。显示地址正常。
:global oldgettestbl [/interface gre get gre-tunnel2 value-name=remote-address]   从本机得到老的地址,
:log warning $oldgettestbl    显示老的地址,
:if ($gettestbl != $oldgettestbl) do= {/interface gre set gre-tunnel2 remote-address=$gettestbl   判断新地址与老地址是否一样,不一样进行更改地址,就这一步就出错了,一改地址,就变成了0.0.0.0,希望帮忙看看那里有问题。
:log warning \"地址更换完成\"
} else={
:log warning \"地址一样不需要更换\"}
自己在命令行上直接手动打  interface gre set gre-tunnel2 remote-address=$gettestbl 这条命令就能直接更换成IP地址。放到脚本里面就成0.0.0.0
熊哥,麻烦您给看看,指点一下问题出在了那里。谢谢了。

:global $gettestbl
以上放到第一行即可,调用变量需要先申明。

Post by 熊茂祥 on 2021, February 25, 10:11 AM 引用此文发表评论 #4

:log warning $gettestbl   从云上得到另一地方IP地址。显示地址正常。

:global oldgettestbl [/interface gre get gre-tunnel2 value-name=remote-address]   从本机得到老的地址,
:log warning $oldgettestbl    显示老的地址,

:if ($gettestbl != $oldgettestbl) do= {/interface gre set gre-tunnel2 remote-address=$gettestbl   判断新地址与老地址是否一样,不一样进行更改地址,就这一步就出错了,一改地址,就变成了0.0.0.0,希望帮忙看看那里有问题。

:log warning \"地址更换完成\"
} else={
:log warning \"地址一样不需要更换\"}

自己在命令行上直接手动打  interface gre set gre-tunnel2 remote-address=$gettestbl 这条命令就能直接更换成IP地址。放到脚本里面就成0.0.0.0

熊哥,麻烦您给看看,指点一下问题出在了那里。谢谢了。

Post by oyran on 2021, February 24, 12:42 PM 引用此文发表评论 #5


发表评论

评论内容 (必填):