Fortemente bem-vindo.
Recentemente, eu precisei trabalhar com o Mikrotik através de sua API. Parece que não há nada de notável, existe uma
biblioteca oficial , há também um
invólucro no
github , mas aqui está o problema - tive que trabalhar de forma assíncrona através do assíncio e usando pães async / waitit. E eu não encontrei essa biblioteca.
Eu tive que me escrever.
O artigo não será muito longo, porque não há nada de especial para escrever. E um
link para o repositório seria suficiente.
Instalação do pacote:
pip install aio_api_ros
Aqui está um exemplo de uso:
import asyncio from aio_api_ros import create_rosapi_connection async def main():
Também é possível criar um pool simples de conexões antes do Mikrotik, mas o pool não foi testado em condições de combate.
O mesmo exemplo, mas com um conjunto de conexões 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()
Para analisar as respostas do microt, usei as práticas recomendadas deste
repositórioEspero que alguém ache isso útil.