domingo, 1 de maio de 2011

Como instalar e utilizar a Classe PHP da API do Mikrotik (routeros_api.class.php)

Para você que trabalha com Mikrotik, trago uma opção que não é nova, mas que da a oportunidade de desenvolvedores Web, mais precisamente Desenvolvedores PHP, criarem sistema que trabalham com as configurações do Router OS, ou seja, os usuários do sistema não precisam acessar o Mikrotik diretamente do WinBox, mas sim através da página que você criar.

Isso é possível graças a API do Mikrotik, que da a oportunidade de trabalhar não só em PHP, mas em várias linguagens de programação. Hoje vamos tratar apenas do PHP, entretanto, poderemos voltar a tocar nesse assunto utilizando outras linguagens de programação.

Deixemos a conversa de lado e vamos logo ao que interessa.

Como instalar a API PHP class

A API PHP Class, como o próprio nome já diz, é uma classe PHP que permite trabalhar com o Router OS (Sistema Operacional do Mikrotik), portanto, em todos os nosso arquivos, iremos precisar utilizar a função:

require('routeros_api.class.php');

Ou seja, estamos dizendo ao nosso arquivo, que ele só deve continuar a ser executado, se encontrar e incluir o arquivo routeros_api.class.php. Mas onde eu encontro este arquivo? Ou como eu crio o arquivo?

Infelizmente não temos o arquivo pronto para download, portanto você deve criar o mesmo, ou melhor, você deve copiar o arquivo e colar em um documento PHP, para fazer isso, basta acessar a página API PHP class, copiar o arquivo "Class", colar no bloco de notas e salvar como "routeros_api.class.php" (Com aspas).

Exemplo:

API PHP Class - Mikrotik - Notepad

Após salvar o arquivo, podemos começar a utilizar a API do PHP, então vejamos como criar nosso primeiro arquivo:

Criando um script PHP para manipular os dados do Router OS

Continuando de onde paramos, veja como nosso arquivo PHP está:

Se você já está familiarizado em trabalhar com PHP, deve saber que tudo se passa dentro das TAGs do PHP, veja no exemplo abaixo:

Agora que você já sabe como abrir um Script PHP e fechar, não vamos mais utilizar as tags de abertura e fechamentos dos códigos, então fique atento a isso.

Utilizando a API:

Primeira parte:

require('routeros_api.class.php');

Requisitamos o arquivo routeros_api.class.php com a função "Require" do PHP;

Segunda parte:

$API = new routeros_api();
$API->debug = true;

Criamos uma variável chamada API com $API, em seguida dizemos se ela vai ou não "Debugar" os comandos com "True" ou "False", ou seja, se ela vai mostrar as mensagens retornadas pelo Router OS, particularmente, eu deixo esta opção como "False", entretanto, vamos assistir ao que o Router OS nos retorna, para que você não fiquei perdido.

Terceira parte:

if ($API->connect('111.111.111.111', 'LOGIN', 'PASSWORD')) {

$ARRAY = $API->comm('/interface/getall');
print_r($ARRAY);
$API->disconnect();

}

Como você deve ter notado, é necessário utilizar o IP do seu Mikrotik na opção "111.111.111.111", seu usuário na opção "LOGIN" e senha na opção "PASSWORD", em seguida você cria uma outra variável (no caso $ARRAY), contendo as opções mostradas acima, e dentro das aspas o comando desejado, neste caso "/interface/getall".

Ao dar um print dos resultados, você verá todas as opções do array retornado pela variável $ARRAY e por fim, fecha a conexão com $API->disconnect();

Com isso, você pode manipular os dados do seu Mikrotik via Web de modo fácil, rápido e seguro, claro que depende da sua habilidade ao manipular os dados.

Para encontrar mais recursos da API do Mikrotik, basta acessar a sua página oficial. E qualquer dúvida, basta comentar!

0 comentários:

Postar um comentário