Curl : commandes de bases

Curl est un outil qui permet de faire des requêtes à un serveur via un des protocoles supportés. Parmi ces protocoles, on retrouve le protocole HTTP, et c’est celui ci qui va nous intéresser aujourd’hui. Si vous souhaitez savoir quels sont les protocoles supportés, un `man curl` vous donnera rapidement l’information.

Passons à la pratique ! Voici une commande de base :

curl http://localhost:8080/document.txt

Cette commande permet de faire une requête HTTP avec la méthode `GET` sur l’url décrite :

  • `http://` : on utilise le protocole HTTP (ici on pourrait ne pas le mettre, le protocole http étant utilisé par défaut) sur l’url
  • `localhost:8080` : le nom d’hôte et le port sur lesquels faire la requête
  • `document.txt` : le document à atteindre sur le serveur

Au final, derrière tout ça est effectué une requête `HTTP GET` qui va récupérer le fichier `document.txt` situé sur le serveur et l’afficher sur la sortie standard.

Il se trouve que j’ai besoin d’être authentifié pour accéder au fichier. Mon authentification utilisant la méthode Basic, je tape donc :

curl http://localhost:8080/document.txt --user user@alinto.int:password

Ici, curl va rajouter le header `Authorization` à notre requête `GET`.

Cependant, vous pouvez être amené à faire des requêtes autres que `GET`. Une simple option vous permet de faire cela.

curl -X DELETE http://localhost:8080/document.txt

La requête HTTP sera donc une requête `DELETE` qui supprimera le fichier document.txt du serveur. Vous pouvez aussi utiliser `PUT`, et `POST`, suivant les capacités de votre serveur, bien d’autres (par exemple, utilisant WebDAV, nous pouvons faire des requètes PROPFIND ou MKCOL) !

Dans certains cas, vous pouvez avoir envie de changer certaines parties du header de votre requête HTTP. Pour cela, vous pouvez taper quelque chose du type :

curl --header "User-Agent: newUserAgent" http://localhost:8080/user@alinto.int/files/

Dans cet exemple, le `User-Agent` de la requête deviendra `newUserAgent`.

Enfin, dernier cas que vous pourriez avoir envie de faire : modifier le corps de la requête HTTP. Pour cela, rien de plus simple :

curl -d "Le nouveau corps de la requête" http://localhost:8080/files

Et voila, vous avez maintenant les bases pour vous amuser avec curl ! Et pour aller plus loin : `man curl` !!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *