Comment envoyer des requêtes POST avec cURL

Comment envoyer des requêtes POST avec cURL

cURL est un utilitaire de ligne de commande polyvalent conçu pour des transferts de données fluides entre différents protocoles réseau, notamment HTTP, HTTPS et FTP. Disponible sur tous les principaux systèmes d'exploitation, cURL est devenu l'outil standard pour l'envoi de requêtes HTTP à partir de la ligne de commande. Son utilitaire multiplateforme prend en charge des protocoles tels que HTTP, HTTPS, FTP et IMAP, ce qui facilite l'envoi de requêtes aux API et l'extraction de données sur les sites Web. En raison de sa grande disponibilité et de sa prise en charge des protocoles, cURL est couramment référencé dans la documentation de l'API REST comme un moyen rapide de tester les appels d'API directement à partir de la ligne de commande.

Ce didacticiel décrit l'exécution de requêtes POST à l'aide de cURL, permettant une communication efficace avec les serveurs via des instructions de ligne de commande simples.

Qu'est-ce qu'une requête POST ?

Une requête POST est une méthode HTTP utilisée pour envoyer des données à un serveur et est l'une des méthodes HTTP les plus courantes. Contrairement aux requêtes GET, où les données sont incluses dans l'URL, les requêtes POST transmettent des données dans le corps de la requête. Cela permet un transfert de données discret et évite les limitations de longueur d'URL imposées par les navigateurs aux requêtes GET.

Les requêtes POST sont fréquemment utilisées pour les soumissions de formulaires, les téléchargements de fichiers et l'envoi de données JSON aux API. Étant donné que les données sont stockées dans le corps de la requête, elles ne sont pas visibles dans l'historique du navigateur et, contrairement aux requêtes GET, les requêtes POST ne sont généralement pas mises en cache par les navigateurs.

Cas d'utilisation pratiques pour les requêtes POST cURL

Les requêtes POST cURL sont largement utilisées dans divers scénarios, notamment :

  • Test des API REST – Les développeurs utilisent cURL pour tester rapidement les points de terminaison d’API avant de les implémenter dans les applications.
  • Automatisation des soumissions de formulaires – En utilisant cURL, vous pouvez automatiser les interactions avec les formulaires Web, en soumettant des données sans saisie manuelle.
  • Téléchargement de fichiers – De nombreuses API permettent le téléchargement de fichiers à l’aide de requêtes POST, ce qui fait de cURL un outil efficace pour automatiser ce processus.
  • Interaction avec les systèmes d’authentification – Les développeurs peuvent utiliser cURL pour authentifier les utilisateurs et accéder aux ressources protégées avec des jetons API ou des informations d’identification.
  • Extraction et intégration de données – L'extraction et l'intégration de données provenant de différentes sources en ligne sont simplifiées grâce aux capacités de requête POST de cURL.

Exécution d'une requête POST avec cURL

Pour commencer à utiliser cURL pour les requêtes POST, assurez-vous qu'il est installé sur votre système. Si vous ne l'avez pas encore installé, reportez-vous à notre guide de configuration de cURL. Vous trouverez ci-dessous un tableau de référence résumant les options essentielles de cURL :

Drapeau court

Drapeau long

Argument(s)

Description

-X

--demande

(utilisez « POST » pour les requêtes POST)

Définit la méthode HTTP pour la requête

-b

--biscuit

Envoie des cookies dans la requête

-c

--pot à biscuits

Enregistre les cookies reçus dans un fichier

-d

--données

Transmet des données dans une requête POST

-f

--échouer

Assure une défaillance silencieuse en cas d'erreurs de serveur

-F

--formulaire

<nom=contenu>

Soumet les données du formulaire (application/x-www-form-urlencoded)

-H

--en-tête

en-tête/@fichier

Inclut des en-têtes HTTP personnalisés

-je

--inclure

Affiche les en-têtes HTTP dans la réponse

-l

--tête

Récupère uniquement les en-têtes

-k

--précaire

Contourne la vérification SSL

-L

--emplacement

Suivre les redirections (3XX)

-o

--sortir

Enregistre la sortie dans un fichier spécifié

-O

--nom-à-distance

Enregistre la sortie avec le nom du fichier distant

-s

--silencieux

Supprime les messages de sortie

-v

--verbeux

Permet une sortie détaillée (débogage)

-w

--écriture

Détails de la réponse des sorties

Pour afficher la liste complète des options disponibles, utilisez :

curl --aide

Erreurs courantes et comment les corriger

Même si cURL est puissant, les utilisateurs rencontrent souvent des erreurs lors de l'envoi de requêtes POST. Voici quelques problèmes courants et leurs solutions :

  • curl : (6) Impossible de résoudre l'hôte – Cela signifie que le nom de domaine est incorrect ou qu'il y a un problème de résolution DNS. Vérifiez l'URL.
  • curl : (7) Échec de la connexion à l'hôte – Indique que le serveur n'est pas accessible. Assurez-vous que le serveur est en ligne et que vous disposez d'une connexion Internet active.
  • curl : (35) Erreur de connexion SSL – Si la demande échoue en raison de problèmes SSL, essayez d'utiliser -k pour contourner la vérification SSL.
  • HTTP 400 Bad Request – Cela signifie que le serveur a rejeté la requête, souvent en raison d'un format de données incorrect. Vérifiez le type de contenu et la charge utile des données.
  • HTTP 401 non autorisé – Se produit lorsque l'authentification est requise mais manquante ou incorrecte. Assurez-vous que les clés API ou les informations d'identification sont correctement transmises avec -u ou -H "Authorization: Bearer <token>".

Syntaxe de base d'une requête POST

curl -X POST -d "Bonjour" https://exemple.com/api

Dans cette commande :

  • -X POST spécifie le type de requête.
  • -d "Bonjour" définit les données envoyées.
  • https://example.com/api est l'URL cible.

Définition des en-têtes de type de contenu

curl -X POST -H "Content-Type: text/plain" -d "Bonjour" https://example.com/api

L'ajout de -H « Content-Type : text/plain » informe le serveur que le format des données est du texte brut.

Envoi de données JSON

curl -X POST -H "Type de contenu : application/json" -d '{"key":"value"}' https://exemple.com/api

L'utilisation d'application/json comme type de contenu garantit que les données sont correctement interprétées comme JSON.

Envoi de données XML

curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

Téléchargement de fichiers avec POST

curl -X POST -F "fichier=@/chemin/vers/img.png" https://exemple.com/api/upload

Pour les téléchargements de fichiers multiples :

curl -X POST -F "fichier=@/chemin/vers/img1.png" -F "fichier=@/chemin/vers/img2.png" https://exemple.com/api/upload

Authentification avec cURL

curl -u nom d'utilisateur:mot de passe https://exemple.com/login

Remplacez le nom d'utilisateur et le mot de passe par les informations d'identification réelles.

Conclusion

cURL simplifie les interactions HTTP grâce à ses options de ligne de commande puissantes et flexibles. En maîtrisant les requêtes POST, les développeurs peuvent gérer efficacement les communications API, les transmissions de données et les téléchargements de fichiers. Que vous ayez besoin de tester des points de terminaison d'API, d'automatiser les soumissions de formulaires ou d'extraire des données de sites Web, cURL fournit une solution légère et efficace. Continuez à expérimenter avec cURL pour optimiser votre flux de travail !

Sachez que Plisio vous propose également :

Créez des factures cryptographiques en 2 clics and Accepter les dons cryptographiques

14 intégrations

10 bibliothèques pour les langages de programmation les plus populaires

19 crypto-monnaies et 12 blockchains

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.