HTTPie c'est un client HTTP pour votre terminal. Conçu comme une alternative moderne à curl
, HTTPie simplifie l'interaction avec les API en offrant une syntaxe simple et une sortie formatée automatiquement.
Disponible en Windows, Mac et Linux, obtenir la configuration ça devrait être une affaire simple. La plupart des distributions Linux incluent désormais HTTPie dans leurs référentiels de packages, afin que vous puissiez apt
, dnf
O pacman
début. Il est également activé via Homebrew pour les utilisateurs Mac., et sous forme de package Python livré via Pip sur les trois plates-formes (pip install httpie
).
Une fois installé, HTTPie enregistre le http
et https
commandes dans votre shell. Vous disposez désormais d'un moyen simple et expressif d'appeler des points de terminaison d'API sans quitter votre terminal !!
Commandes de base
Dans sa forme la plus simple, HTTPie peut recevoir une URL pour faire un GET
application:
http exemple.com
Pour envoyer des données, spécifiez le verbe HTTP approprié, puis transmettez vos paires de clés / valeur en tant que paramètres de ligne de commande supplémentaires:
http POST example.com foo=bar hello=world
Par défaut, les données sont envoyées au format JSON avec les en-têtes de requête appropriés. Pour le soumettre sous forme de formulaire, passe le -f
paramètre.
Lors de l'utilisation de la syntaxe JSON, Lors de l'utilisation de la syntaxe JSON. Vous pouvez utiliser le :=
Lors de l'utilisation de la syntaxe JSON =
Lors de l'utilisation de la syntaxe JSON. Lors de l'utilisation de la syntaxe JSON examples:='[1, 2]'
Lors de l'utilisation de la syntaxe JSON examples
Lors de l'utilisation de la syntaxe JSON.
Lors de l'utilisation de la syntaxe JSON
Lors de l'utilisation de la syntaxe JSON, Lors de l'utilisation de la syntaxe JSON:
Lors de l'utilisation de la syntaxe JSON:Lors de l'utilisation de la syntaxe JSON
Lors de l'utilisation de la syntaxe JSON, Quoi User-Agent
, par défaut. Lors de l'utilisation de la syntaxe JSON.
Lors de l'utilisation de la syntaxe JSON:
Lors de l'utilisation de la syntaxe JSON "Lors de l'utilisation de la syntaxe JSON:Lors de l'utilisation de la syntaxe JSON;Lors de l'utilisation de la syntaxe JSON"
En réalité, Lors de l'utilisation de la syntaxe JSON Cookie
entête, c’est ainsi que les cookies sont envoyés via HTTP.
Utilisation de fichiers
Vous pouvez charger et télécharger des fichiers à l’aide de redirections shell standard:
http post example.com/upload < ~/example.pdf
http GET example.com/download.pdf > ~/télécharger.pdf
De plus, vous pouvez télécharger des fichiers dans le cadre d'une soumission de formulaire HTTP grâce à l'utilisation de @
syntaxe:
http -f POST example.com/form-with-file bonjour="Bonjour le monde" myUpload@~/example.pdf
Cela agira de la même manière que la saisie d'un fichier HTML avec name="myUpload"
. À sa place, vous pouvez charger des données à partir d'un fichier et les intégrer dans la requête en utilisant le =@
syntaxe, au lieu de @
.
Séances
HTTPie a un support intégré pour les sessions persistantes. Ceux-ci vous permettent de réutiliser les composants de la demande, comme les en-têtes HTTP et les cookies, entre les requêtes faites au même hébergeur.
Vous pouvez créer et utiliser des sessions en configurant le --session
paramètre. En tant que valeur, spécifier le chemin d’accès à un fichier qui sera utilisé pour enregistrer votre nouvelle session.
http --session=./my-session.json OBTENIR example.com autorisation:Lors de l'utilisation de la syntaxe JSON
Les données prises en charge par les sessions, comme lui Authorization
en-tête dans la demande précédente, il sera maintenant enregistré dans le fichier. Dans les demandes ultérieures, vous pouvez maintenant ignorer le Authorization
entête: sera automatiquement inclus tel que défini dans votre session.
Au lieu de spécifier un fichier de session, vous pouvez également utiliser un nom simple (--session=example
). Dans cette circonstance, HTTPie enregistrera automatiquement la session dans un fichier géré en interne. Chaque session est liée à l'hôte d'où elle provient, Pour ce que http --session=example example1.com
et http --session=example example2.com
existeront indépendamment les uns des autres.
Gérer la sortie
L'une des améliorations significatives de HTTPie par rapport aux utilitaires tels que curl
est votre formatage de réponse automatique. Les corps JSON sont concrètement bien manipulés, avec une indentation appropriée, classement alphabétique des objets par leurs clés et conversion correcte des caractères Unicode.
Vous pouvez personnaliser la façon dont la sortie est traitée à l'aide de quelques options différentes. Les --pretty
le drapeau peut être réglé sur --all
(défaut), --colors
(seulement des couleurs), --format
(juste formater) O --none
(pour désactiver tous les traitements de sortie et afficher les données brutes).
En même temps, vous pouvez changer le schéma de couleurs en utilisant le --style
drapeau. Les schémas disponibles sont auto
(la valeur par défaut), default
(utiliser les styles de bibliothèque Pygments sous-jacents), fruity
et le populaire monokai
.
Vous n'avez pas à vous soucier du format par défaut lorsque vous redirigez la sortie vers un fichier. HTTPie reconnaîtra qu'il est redirigé et dirigera simplement les données sans appliquer de formatage. Cela signifie également que les réponses binaires, qui ne sont régulièrement jamais délivrés au terminal, peut être redirigé dans des fichiers.
Fichier de configuration
HTTPie prend en charge un fichier de configuration de base qui peut être utilisé pour définir la configuration par défaut. Ceux-ci s'appliqueront à toutes les demandes que vous faites. Le fichier doit être enregistré dans ~/.config/httpie/config.json
fr Linux / Mac et %APPDATA%httpieconfig.json
en Windows.
Une seule clé de configuration est prise en charge, default_options
, qui accepte un tableau de base de paramètres à ajouter aux commandes HTTPie que vous exécutez:
{ "options_défaut": [ "Autorisation:Lors de l'utilisation de la syntaxe JSON", "--joli=aucun", "--style=monokai" ] }
Toute option compatible avec l'interface de ligne de commande HTTPie peut être incluse. Vous pouvez remplacer vos options par défaut en les définissant sur une nouvelle valeur chaque fois que vous exécutez HTTPie.
conclusion
HTTPie est un outil complet qui apporte des API HTTP à votre terminal. C'est une alternative moderne aux produits Unix de base comme curl
qui est conçu pour une utilisation régulière par les développeurs et les testeurs. Même si la syntaxe peut parfois être lourde, dans l'ensemble c'est expressif et mémorable.
Il est important de noter que vous prenez le temps de lire le documents officiels si vous cherchez à en savoir plus sur HTTPie. Tout le développement se produit à l'extérieur dans GitHub, avec un soutien fourni dans Grille et Débordement de pile.