Comment récupérer le statut HTTP d'une requête HTTP avec cURL

Publié le 9 Mars 2017

Pour vérifier que mes micro services sont accessible j'ai implémenté un endpoint qui répond simplement avec un statut 200 (OK) si le service est accessible.

L'idée est de pouvoir tester si le service est accessible en utilisant un script shell.

Cela peut se faire en utilisant cURL avec la commande suivante:

curl -s -o /dev/null -I -w "%{http_code}" http://mon.micro.service.local/api/health

Remplacer l'URL par celle de votre service. Le résultat de cette commande est uniquement l'affichage du statut HTTP de la réponse.

On peut ensuite intégrer cette commande dans un script, pour, par exemple, attendre que le service soit accessible avant de lancer un test ou autre.  

while [ $(curl -s -o /dev/null -I -w "%{http_code}" http://mon.micro.service.local/api/health) -ne 200 ]
do
   echo "Waiting for micro-service"
   sleep 5
done
echo "Service started"

Tant que la commande cURL ne retourne pas 200 (OK) on attend 5 secondes et on réessaye. Quand on sort de la boucle while, le service est accessible.

Rédigé par Bliz

Publié dans #Linux, #Script

Repost 0
Commenter cet article