Comment utiliser Curl Post Data à partir du fichier

Comment utiliser Curl Post Data à partir du fichier

Curl est un utilitaire de ligne de commande libre et open source utilisé pour transférer des données vers ou depuis un hôte distant avec une interaction utilisateur minimale. Curl fonctionne avec des protocoles primaires comme HTTP, FTP, SCP et SFTP.

Il permet aux utilisateurs de télécharger et de télécharger des données en utilisant des commandes uniques ou des scripts bash. Il fournit également des fonctionnalités telles que l'authentification utilisateur, la tunneling proxy, le curriculum vitae de téléchargement, les téléchargements basés sur des formulaires, les certificats SSL et bien plus encore. Il est sûr de dire que Curl est plus qu'un client HTTP.

Ce didacticiel vous guidera à travers une fonctionnalité Curl qui permet aux utilisateurs d'effectuer des demandes de post HTTP à l'aide de données de fichier.

Avant de commencer, permettez-moi de mentionner que ce n'est pas un guide pour débutant pour boucler; Vous avez besoin d'un degré de savoir-faire préalable, en particulier de la connaissance des protocoles de réseau, des demandes HTTP, et plus.

Avant de pouvoir plonger dans l'utilisation de Curl pour effectuer des demandes de poste, laissez-nous d'abord la configuration.

Comment installer Curl

Dans la plupart des cas, vous trouverez Curl installé dans les grandes distributions Linux par défaut. Pour confirmer que vous avez une boucle, utilisez la commande

curl - help

Si vous obtenez une erreur:

-bash: curl: commande introuvable

Vous devrez l'installer avant de continuer.

Utilisez le gestionnaire de package par défaut pour terminer l'installation comme indiqué dans les commandes ci-dessous:

Mise à jour Sudo apt-get
sudo apt-get install curl -y

Avant de discuter de la façon de publier des données à partir d'un fichier avec Curl, permettez-moi de parler de la demande publique en bref. Comme d'habitude, si vous connaissez déjà cela, vous pouvez vous sentir libre de sauter de l'avance; Sinon, restez.

Curl Post Demande

La demande HTTP Post est l'une des méthodes de demande HTTP / HTTPS les plus populaires utilisées pour envoyer des données à un hôte distant pour créer ou mettre à jour une ressource.

Maintenant:

Veuillez ne pas confondre la méthode avec put; Bien qu'ils soient assez similaires, ils ont leurs différences.

Les données envoyées à l'aide d'une demande de poste sont principalement stockées dans le corps de la demande de la demande HTTP.

Par exemple, considérez la demande de publication ci-dessous qui envoie le nom d'utilisateur et le mot de passe ainsi que leurs valeurs.

Post / restreint / connexion.php http / 1.1 hôte: Linuxhint.com Content-Type: application / x-www-form-urlencoded username = linuxhint & mot de passe = mot de passe

Pour envoyer la demande de poste ci-dessus à l'aide de Curl, nous pouvons spécifier les commandes comme:

curl -x post -d “username = linuxhint & mot de passe = mot de passe” https: // linuxhint.com / restreint / connexion.php

Dans la commande ci-dessus, nous avons utilisé l'option -D pour indiquer à Curl d'inclure les en-têtes par défaut, qui est de type contenu: application / x-www-form-urlencoded

L'option -x spécifie la méthode de demande HTTP à utiliser, dans ce cas, la demande de poste HTTP.

Curl Spécifiez le type de contenu

Dans certains cas, nous pourrions vouloir spécifier [explicitement] le type de contenu lors de l'envoi de la demande. L'entité de type contenu dans l'en-tête spécifie le type de support de la ressource que nous envoyons. Le type de support est également communément appelé type mime.

Si vous souhaitez en savoir plus sur les types de mime, considérez la ressource fournie ci-dessous:

https: // linkfy.à / iana-mime-types

Pour spécifier le type de contenu dans une demande de boucle, nous pouvons utiliser le drapeau -H. Par exemple, envoyons le type de mime d'application / JSON.

curl -x post -d "nom d'utilisateur": "Linuxhint", "mot de passe": "mot de passe" -h "Content-Type: application / json" https: // linuxhint.com / restreint / connexion.php

Ce qui précède spécifie que nous voulons envoyer un objet JSON à l'URL fournie. Vous pouvez l'utiliser pour lire les valeurs à partir d'un fichier JSON ou l'envoyer comme brut.

Comment lire les données d'un fichier

Supposons que vous souhaitiez faire des demandes dans la ligne de commande à l'aide de Curl, mais vous avez les données à envoyer stockées dans un fichier. Vous pouvez utiliser le type de contenu pour spécifier le type de support, puis passer le chemin du fichier contenant les données. Pour cet exemple, je vais illustrer l'utilisation d'un objet JSON.

Le fichier JSON (données.JSON) contient les valeurs suivantes:


"nom d'utilisateur": "Linuxhint",
"mot de passe": "mot de passe"

Pour envoyer ces données à partir d'un fichier JSON, nous pouvons utiliser le -d puis passer le nom de fichier comme indiqué dans la commande ci-dessous:

curl -x post -h "Content-type: application / json" -d "@data.json ”https: // linuxhint.com / restreint / connexion.php

Vous pouvez également utiliser l'option -data-binaire.

curl -x post -h «contenu-type: application / json» - data-binaire «@ / home / user / data.json ”https: // linuxhint.com / restreint / connexion.php

Vous pouvez également utiliser un fichier texte pour envoyer les données; Tout ce dont vous avez besoin pour spécifier est le type de contenu en tant que texte / simple.

Par exemple, un fichier texte (données.txt) contenant les valeurs suivantes

username = LinuxHint & Password = Mot de passe

À l'aide de la commande curl, envoyez simplement la demande comme:

curl -x post -h «contenu-type: text / plain» -d «données.txt ”https: // linuxhint.com / restreint / connexion.php

Vous pouvez utiliser d'autres types de fichiers que vous pouvez utiliser tels que XML, HTML et bien d'autres.

Conclusion

Dans ce tutoriel, nous avons discuté de la façon de faire des demandes de poste et de passer des données dans divers formats. Il est bon de garder à l'esprit qu'en plus d'être très puissant, Curl est également très flexible. Il peut combiner une collection d'options dans une seule commande pour créer des demandes puissantes. Pour plus d'informations, je recommande la documentation Curl car elle est bien écrite.

https: // curl.se / docs /

Merci d'avoir lu et de vous amuser avec Curl.