banner
Centro de Noticias
Ser una empresa con certificación ISO es una marca de logro.

Cómo interactuar con las API de red usando cURL, herramientas de Postman

May 17, 2023

imágenes falsas

Las API están simplificando la forma en que los ingenieros de redes trabajan en la industria. Gobiernan el mundo de la alta tecnología, desde los teléfonos inteligentes y los relojes inteligentes hasta la Estación Espacial Internacional y los centros de datos de todo el mundo.

Es probable que los ingenieros que hayan trabajado antes con API no regresen a los días tradicionales de una interfaz de línea de comandos (CLI) y sintaxis interminables, que a menudo producen errores que resultan en interrupciones de la red y pérdida de ingresos para las empresas. Las API son las nuevas CLI.

En mi artículo anterior sobre casos de uso de API de red, resumí qué son las API, sus casos de uso y por qué los ingenieros de redes deberían adoptarlas en un mundo donde la agilidad es clave para brindar servicios de primer nivel. Este artículo explora cómo los ingenieros de redes pueden usar herramientas como cURL y Postman para interactuar con las API de red.

La mayoría de los ingenieros de redes han oído hablar de cURL y Postman en varias comunidades de redes y desarrolladores. Postman es una plataforma de prueba de API basada en GUI con más de 20 millones de usuarios en todo el mundo. Ayuda a los desarrolladores a diseñar, construir, probar y mejorar sus API con más iteraciones. El uso de la herramienta simplifica los flujos de trabajo de API en entornos de prueba y producción.

La herramienta de línea de comandos cURL se usa para enviar datos hacia y desde el servidor. La herramienta es ampliamente utilizada debido a sus ricas funciones, como la compatibilidad con múltiples protocolos, especialmente HTTP y HTTPS.

Para usar Postman y cURL, los ingenieros de redes deben determinar qué verbo HTTP usar para interactuar con las infraestructuras. Una forma de hacerlo es vincular verbos HTTP para crear funciones de lectura, actualización y eliminación (CRUD) que usan las bases de datos.

CORREO

CREAR

CONSEGUIR

LEER

PONER

ACTUALIZAR

PARCHE

ACTUALIZAR

BORRAR

BORRAR

En redes, Secure Shell (SSH) es un protocolo ampliamente utilizado para el acceso remoto seguro a dispositivos de red. Pero con la creciente necesidad de automatización y el uso de API para dispositivos de red, los ingenieros de redes necesitan una interfaz para interactuar con las API de dispositivos de forma programable.

Los protocolos HTTP o HTTPS pueden interactuar con las API de dispositivos de red utilizando herramientas CLI y GUI, como cURL y Postman, respectivamente. Estas interacciones pueden obtener datos o manipular datos. En el campo de las redes, los datos son principalmente configuraciones de dispositivos. Estas herramientas ayudan a los ingenieros a integrar dispositivos de red con otros sistemas de gestión de red, así como a mejorar la eficiencia de la red y automatizar los procesos de red.

Saltemos e interactuemos con una API de dispositivo a través de HTTPS usando cURL y Postman. Nota: Debe comprender claramente la documentación de la API del dispositivo a través de las operaciones CRUD comunes para todas las API.

Los ejemplos a continuación muestran diferentes escenarios en los que los ingenieros de redes pueden usar cURL y la GUI de Postman en un entorno de producción o sandbox.

Las tareas incluyen lo siguiente:

Los ingenieros de redes siempre necesitan iniciar sesión en los dispositivos de red, como conmutadores y enrutadores. Para hacerlo, los ingenieros pueden acceder a una red remota mediante una CLI de sandbox e iniciar sesión con una dirección IP. En el siguiente ejemplo, iniciamos sesión en un enrutador con una dirección IP de 172.31.0.1 a través de HTTPS usando el siguiente comando:

Aquí, "-k" ignora la certificación de capa de sockets seguros y se incluye "-u" para mencionar el nombre de usuario con la contraseña.

El uso de cURL es una forma efectiva de acceder a dispositivos de red de forma remota, ya que admite múltiples protocolos.

El siguiente paso es recopilar información de la interfaz, como la dirección principal, la descripción y la información de reenvío. Esta información es útil para los ingenieros de redes cuando analizan y solucionan problemas de redes.

Para inspeccionar una interfaz en un dispositivo Cisco, los ingenieros suelen utilizar el siguiente comando de Cisco IOS:

Los ingenieros pueden usar cURL para hacer la misma tarea. Una opción es obtener la información de la interfaz en JSON. Actualmente, el formato de datos JSON se utiliza como estándar para intercambiar datos y muchos lenguajes de programación y herramientas lo admiten. JSON es tanto legible por humanos como analizable por máquina. Por lo tanto, los ingenieros pueden necesitar información de la interfaz en formato JSON para integrarla con una API o usarla en la automatización de redes.

Los ingenieros pueden recopilar la información de la interfaz en JSON agregando un encabezado de aceptación de JSON, como se ve a continuación con el siguiente comando:

Los ingenieros de redes encuentran necesidades cambiantes en sus tareas diarias y mensuales. En algunos casos, es posible que tengan que editar las configuraciones del enrutador o cambiar la dirección IP de una interfaz.

Este ejemplo muestra cómo los ingenieros pueden usar un comando cURL para cambiar una dirección IP a través de la CLI. La mayoría de las veces, los ingenieros de redes usan SSH para acceder a los dispositivos de forma remota. Pero los nuevos estándares y herramientas de red ofrecen alternativas, como el siguiente comando cURL:

Los ingenieros de red pueden usar la interfaz gráfica de usuario de Postman para interactuar con uno de los enrutadores de espacio aislado de Cisco. La herramienta suele ser fácil de usar en comparación con cURL.

Es posible que los ingenieros deban verificar el estado de una interfaz para solucionar problemas o verificar la configuración en un enrutador. En este caso, pueden usar la GUI de Postman a través del protocolo HTTPS.

Aquí, usamos el verbo GET para obtener información o para realizar una acción de LEER, usando el siguiente comando en la barra de solicitudes de Postman:

OBTENER - https://172.31.0.1/restconf/data/Cisco-IOS-XE-native:native/interface

Navegue por las pestañas Autorización y Encabezados en Postman para completar los parámetros y garantizar información precisa.

Los ingenieros de redes pueden usar el método POST para manipular la interfaz.

POST - https://172.31.0.1/restconf/data/Cisco-IOS-XE-native:native/interface

En el siguiente ejemplo, demuestro la capacidad de edición de configuración a través de HTTPS, cambiando la dirección IP de la interfaz mediante la GUI de Postman.

Los profesionales de la red pueden usar el método PATCH para hacer un cambio o apagar una interfaz a través del protocolo HTTPS y Postman. La pestaña Cuerpo en Postman debe contener la configuración necesaria para cerrar la interfaz en formato JSON.

Los ingenieros de redes pueden desactivar una interfaz para un enrutador o conmutador si, por ejemplo, el equipo no necesita usarlo durante un período de tiempo. Cerrar una interfaz es como cerrar una puerta para mayor seguridad.

En el siguiente ejemplo, muestro cómo es posible operar tareas en Postman, que los ingenieros suelen realizar con CLI. Todo lo que necesitan los ingenieros son las credenciales para acceder a la zona de pruebas a través de HTTP, como se muestra en la barra de solicitudes de Postman.

Una característica única de Postman es la capacidad de obtener un fragmento de código Python para realizar funciones desde la herramienta Postman. Debido a que Python es un lenguaje de codificación tan común, gracias a su facilidad de uso, flexibilidad y conjunto rico de bibliotecas y marcos, los ingenieros a menudo necesitan obtener el código para administrar y operar la infraestructura de red.

Los ingenieros pueden obtener el código Python de Postman para disminuir el esfuerzo manual y aumentar la agilidad al usarlo de acuerdo con los requisitos del proyecto.

Ninguna herramienta es perfecta. Tanto cURL como Postman tienen sus beneficios y desafíos al usar las API de red. Por ejemplo, cURL es bueno para principiantes, pero no permite que los usuarios guarden solicitudes. Mientras tanto, Postman admite cualquier lenguaje de programación, pero usa mucha RAM.

A continuación se muestra un desglose de los pros y los contras de cURL y Postman.

Hay varias herramientas disponibles en la industria que ayudan a los ingenieros y desarrolladores de redes a interactuar con las API de red. Si bien las herramientas no son perfectas, los ingenieros pueden elegir una que se adapte a sus necesidades y les ayude a realizar su trabajo rápidamente.