banner
Centre d'Information
Être une entreprise certifiée ISO est une marque de réussite.

Comment interagir avec les API réseau à l'aide de cURL, des outils Postman

Aug 05, 2023

Getty Images

Les API simplifient la façon dont les ingénieurs réseau travaillent dans l'industrie. Ils régissent le monde de la haute technologie, des smartphones et des montres connectées à la Station spatiale internationale et aux centres de données à travers le monde.

Les ingénieurs qui ont travaillé avec des API auparavant ne reviendront probablement pas aux jours traditionnels d'une interface de ligne de commande (CLI) et de syntaxes sans fin, qui produisent souvent des erreurs qui entraînent des pannes de réseau et une perte de revenus pour les entreprises. Les API sont les nouvelles CLI.

Dans mon article précédent sur les cas d'utilisation des API réseau, j'ai présenté les API, leurs cas d'utilisation et pourquoi les ingénieurs réseau devraient les adopter dans un monde où l'agilité est essentielle pour fournir des services de premier ordre. Cet article explore comment les ingénieurs réseau peuvent utiliser des outils tels que cURL et Postman pour interagir avec les API réseau.

La plupart des ingénieurs réseau ont entendu parler de cURL et de Postman dans diverses communautés de réseaux et de développeurs. Postman est une plate-forme de test d'API basée sur une interface graphique avec plus de 20 millions d'utilisateurs dans le monde. Il aide les développeurs à concevoir, construire, tester et améliorer leurs API avec plus d'itérations. L'utilisation de l'outil simplifie les workflows d'API dans les environnements de test et de production.

L'outil de ligne de commande cURL est utilisé pour envoyer des données vers et depuis le serveur. L'outil est largement utilisé en raison de ses fonctionnalités riches, telles que la prise en charge multiprotocole, en particulier HTTP et HTTPS.

Pour utiliser Postman et cURL, les ingénieurs réseau doivent déterminer quel verbe HTTP utiliser pour interagir avec les infrastructures. Une façon de le faire est de lier des verbes HTTP pour créer des fonctions de lecture, de mise à jour et de suppression (CRUD) utilisées par les bases de données.

POSTE

CRÉER

OBTENIR

LIRE

METTRE

MISE À JOUR

CORRECTIF

MISE À JOUR

SUPPRIMER

SUPPRIMER

Dans le domaine des réseaux, Secure Shell (SSH) est un protocole largement utilisé pour un accès distant sécurisé aux périphériques réseau. Mais avec le besoin croissant d'automatisation et l'utilisation d'API pour les périphériques réseau, les ingénieurs réseau ont besoin d'une interface pour interagir avec les API des périphériques de manière programmable.

Les protocoles HTTP ou HTTPS peuvent interagir avec les API des périphériques réseau à l'aide d'outils CLI et GUI, tels que cURL et Postman, respectivement. Ces interactions peuvent obtenir des données ou manipuler des données. Dans le domaine des réseaux, les données sont principalement des configurations d'appareils. Ces outils aident les ingénieurs à intégrer les périphériques réseau à d'autres systèmes de gestion de réseau, à améliorer l'efficacité du réseau et à automatiser les processus de mise en réseau.

Passons à l'action et interagissons avec une API de périphérique via HTTPS en utilisant à la fois cURL et Postman. Remarque : vous devez comprendre clairement la documentation de l'API de l'appareil via les opérations CRUD communes à toutes les API.

Les exemples ci-dessous montrent différents scénarios dans lesquels les ingénieurs réseau peuvent utiliser cURL et l'interface graphique Postman dans un bac à sable ou un environnement de production.

Les tâches comprennent les éléments suivants :

Les ingénieurs réseau doivent toujours se connecter aux périphériques réseau, tels que les commutateurs et les routeurs. Pour ce faire, les ingénieurs peuvent accéder à un réseau distant à l'aide d'une CLI sandbox et se connecter avec une adresse IP. Dans l'exemple ci-dessous, nous nous connectons à un routeur avec une adresse IP de 172.31.0.1 via HTTPS en utilisant la commande suivante :

Ici, "-k" ignore la certification Secure Sockets Layer et "-u" est inclus pour mentionner le nom d'utilisateur avec le mot de passe.

L'utilisation de cURL est un moyen efficace d'accéder à distance aux périphériques réseau, car il prend en charge plusieurs protocoles.

L'étape suivante consiste à collecter les informations d'interface, telles que l'adresse principale, la description et les informations de transfert. Ces informations sont utiles aux ingénieurs réseau lorsqu'ils analysent et dépannent les réseaux.

Pour inspecter une interface sur un périphérique Cisco, les ingénieurs utilisent généralement la commande Cisco IOS suivante :

Les ingénieurs peuvent utiliser cURL pour effectuer la même tâche. Une option consiste à obtenir les informations d'interface au format JSON. Actuellement, le format de données JSON est utilisé comme norme pour échanger des données, et de nombreux langages de programmation et outils le prennent en charge. JSON est à la fois lisible par l'homme et analysable par la machine. Ainsi, les ingénieurs peuvent avoir besoin d'informations d'interface au format JSON pour les intégrer à une API ou les utiliser dans l'automatisation du réseau.

Les ingénieurs peuvent collecter les informations d'interface dans JSON en ajoutant un en-tête d'acceptation JSON, comme indiqué ci-dessous avec la commande suivante :

Les ingénieurs réseau sont confrontés à des besoins changeants dans leurs tâches quotidiennes et mensuelles. Dans certains cas, ils devront peut-être modifier les configurations du routeur ou changer une adresse IP d'interface.

Cet exemple montre comment les ingénieurs peuvent utiliser une commande cURL pour modifier une adresse IP via la CLI. La plupart du temps, les ingénieurs réseau utilisent SSH pour accéder aux appareils à distance. Mais les nouvelles normes et outils de mise en réseau offrent des alternatives, telles que la commande cURL ci-dessous :

Les ingénieurs réseau peuvent utiliser l'interface graphique Postman pour s'interfacer avec l'un des routeurs sandbox Cisco. L'outil est souvent facile à utiliser par rapport à cURL.

Les ingénieurs peuvent avoir besoin de vérifier l'état d'une interface pour dépanner ou vérifier la configuration sur un routeur. Dans ce cas, ils peuvent utiliser l'interface graphique Postman via le protocole HTTPS.

Ici, nous utilisons le verbe GET pour obtenir des informations ou pour effectuer une action READ, en utilisant la commande suivante dans la barre de requête Postman :

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

Naviguez dans les onglets Autorisation et En-têtes dans Postman pour remplir les paramètres et garantir l'exactitude des informations.

Les ingénieurs réseau peuvent utiliser la méthode POST pour manipuler l'interface.

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

Dans l'exemple ci-dessous, je démontre la capacité d'édition de configuration via HTTPS, en changeant l'adresse IP de l'interface à l'aide de l'interface graphique Postman.

Les professionnels du réseau peuvent utiliser la méthode PATCH pour apporter une modification ou fermer une interface via le protocole HTTPS et Postman. L'onglet Corps dans Postman doit contenir la configuration nécessaire pour fermer l'interface au format JSON.

Les ingénieurs réseau peuvent désactiver une interface pour un routeur ou un commutateur si, par exemple, l'équipe n'a pas besoin de l'utiliser pendant un certain temps. Arrêter une interface revient à verrouiller une porte pour plus de sécurité.

Dans l'exemple ci-dessous, je montre comment il est possible d'exécuter des tâches dans Postman, que les ingénieurs effectuent généralement avec CLI. Tout ce dont les ingénieurs ont besoin, ce sont les informations d'identification pour accéder au bac à sable via HTTP, comme indiqué dans la barre de requête Postman.

Une fonctionnalité unique de Postman est la possibilité d'obtenir un extrait de code Python pour exécuter des fonctions à partir de l'outil Postman. Parce que Python est un langage de codage si courant - grâce à sa facilité d'utilisation, sa flexibilité et son riche ensemble de bibliothèques et de frameworks - les ingénieurs ont souvent besoin d'obtenir le code pour gérer et exploiter l'infrastructure réseau.

Les ingénieurs peuvent obtenir le code Python de Postman pour réduire l'effort manuel et augmenter l'agilité lors de son utilisation en fonction des exigences du projet.

Aucun outil n'est parfait. cURL et Postman ont leurs avantages et leurs défis lors de l'utilisation des API réseau. Par exemple, cURL convient aux débutants, mais il ne permet pas aux utilisateurs d'enregistrer des requêtes. Pendant ce temps, Postman prend en charge n'importe quel langage de programmation, mais il utilise beaucoup de RAM.

Vous trouverez ci-dessous une ventilation des avantages et des inconvénients de cURL et de Postman.

Plusieurs outils sont disponibles dans l'industrie pour aider les ingénieurs réseau et les développeurs à interagir avec les API réseau. Bien que les outils ne soient pas parfaits, les ingénieurs peuvent choisir celui qui convient à leurs besoins et les aide à faire leur travail rapidement.