用于Mikrotik API的异步库

强烈欢迎。

最近,我需要通过其API使用Mikrotik。 似乎没什么了不起的,有一个官方库 ,在github上还有一个包装器 ,但是麻烦是-我不得不通过asyncio和使用async / wait包子异步工作。 而且我没有找到这样的图书馆。

我不得不写自己。

这篇文章不会很长,因为没有什么特别的要写的。 到存储库的链接就足够了。

软件包安装:

pip install aio_api_ros 

这是一个用法示例:

 import asyncio from aio_api_ros import create_rosapi_connection async def main(): #   mk = await create_rosapi_connection( mk_ip='127.0.0.1', mk_port=8728, mk_user='myuser', mk_psw='mypassword' ) #   mk.talk_word('/ip/hotspot/active/print') #     res = await mk.read() print(res) mk.close() if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close() 

也可以在Mikrotik之前创建一个简单的连接池,但是该池未在战斗条件下进行测试。

相同的示例,但是具有连接池
 import asyncio from aio_api_ros import create_rosapi_simple_pool async def main(): mk = await create_rosapi_simple_pool( mk_ip='127.0.0.1', mk_port=8728, mk_user='myuser', mk_psw='mypassword', max_size=4 ) await mk.talk_word('/ip/hotspot/active/print') res = await mk.read() print(res) mk.close() if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close() 


为了解析microt的响应,我使用了该存储库中的最佳实践

我希望有人会觉得有用。

Source: https://habr.com/ru/post/zh-CN444098/


All Articles