HTTPie: un client HTTP modern similar a les ordres Curl i Wget


HTTPie (pronunciat aitch-tee-tee-pie) és un client HTTP de línia d'ordres multiplataforma, semblant a cURL, modern, fàcil d'utilitzar i multiplataforma escrit en Python. Està dissenyat per fer que la interacció CLI amb els serveis web sigui fàcil i tan fàcil d'utilitzar com sigui possible.

Té una ordre http senzilla que permet als usuaris enviar sol·licituds HTTP arbitràries mitjançant una sintaxi senzilla i natural. S'utilitza principalment per a proves, depuració sense problemes i, principalment, per interactuar amb servidors HTTP, serveis web i API RESTful.

  • HTTPie inclou una interfície d'usuari intuïtiva i és compatible amb JSON.
  • Sintaxi d'ordres expressiva i intuïtiva.
  • Resaltat de sintaxi, sortida del terminal amb format i color.
  • Compatibilitat amb HTTPS, servidors intermediaris i autenticació.
  • Compatibilitat amb formularis i càrregues de fitxers.
  • Compatibilitat per a dades i capçaleres de sol·licituds arbitràries.
  • Baixades i extensions semblants a Wget.
  • Admet ython 2.7 i 3.x.

En aquest article, mostrarem com instal·lar i utilitzar httpie amb alguns exemples bàsics a Linux.

Com instal·lar i utilitzar HTTPie a Linux

La majoria de distribucions de Linux proporcionen un paquet HTTPie que es pot instal·lar fàcilment mitjançant el gestor de paquets del sistema predeterminat, per exemple:

# apt-get install httpie  [On Debian/Ubuntu]
# dnf install httpie      [On Fedora]
# yum install httpie      [On CentOS/RHEL]
# pacman -S httpie        [On Arch Linux]

Un cop instal·lat, la sintaxi per utilitzar httpie és:

$ http [options] [METHOD] URL [ITEM [ITEM]]

L'ús més bàsic de httpie és proporcionar-li un URL com a argument:

$ http example.com

Vegem ara un ús bàsic de l'ordre httpie amb exemples.

Podeu enviar un mètode HTTP a la sol·licitud, per exemple, enviarem el mètode GET que s'utilitza per sol·licitar dades d'un recurs especificat. Tingueu en compte que el nom del mètode HTTP ve just abans de l'argument URL.

$ http GET tecmint.lan

Aquest exemple mostra com pujar un fitxer a transfer.sh mitjançant la redirecció d'entrada.

$ http https://transfer.sh < file.txt

Podeu descarregar un fitxer tal com es mostra.

$ http https://transfer.sh/Vq3Kg/file.txt > file.txt		#using output redirection
OR
$ http --download https://transfer.sh/Vq3Kg/file.txt  	        #using wget format

També podeu enviar dades a un formulari tal com es mostra.

$ http --form POST tecmint.lan date='Hello World'

Per veure la sol·licitud que s'està enviant, utilitzeu l'opció -v, per exemple.

$ http -v --form POST tecmint.lan date='Hello World'

HTTPie també admet l'autenticació HTTP bàsica des de la CLI de la forma següent:

$ http -a username:password http://tecmint.lan/admin/

També podeu definir capçaleres HTTP personalitzades utilitzant la notació Capçalera:Valor. Ho podem provar amb l'URL següent, que retorna les capçaleres. Aquí, hem definit un agent d'usuari personalitzat anomenatTEST 1.0:

$ http GET https://httpbin.org/headers User-Agent:'TEST 1.0'

Vegeu una llista completa d'opcions d'ús executant.

$ http --help
OR
$ man  ttp

Podeu trobar més exemples d'ús al repositori HTTPie Github: https://github.com/jakubroztocil/httpie.

HTTPie és un client HTTP de línia d'ordres, modern i fàcil d'utilitzar, semblant a cURL, amb una sintaxi senzilla i natural, i mostra una sortida amb colors. En aquest article, hem mostrat com instal·lar i utilitzar httpie a Linux. Si teniu cap pregunta, poseu-vos en contacte amb nosaltres mitjançant el formulari de comentaris a continuació.