HTTPie - En moderne HTTP-klient som ligner på Curl- og Wget-kommandoer


HTTPie (uttales aitch-tee-tee-pie) er en cURL-lignende, moderne, brukervennlig og kommandolinje-HTTP-klient på tvers av plattformer skrevet i Python. Den er designet for å gjøre CLI-interaksjon med webtjenester enkelt og så brukervennlig som mulig.

Den har en enkel http-kommando som gjør det mulig for brukere å sende vilkårlige HTTP-forespørsler ved hjelp av en enkel og naturlig syntaks. Den brukes først og fremst for testing, problemfri feilsøking, og hovedsakelig samhandling med HTTP-servere, webtjenester og RESTful APIer.

  • HTTPie kommer med et intuitivt brukergrensesnitt og støtter JSON.
  • Ekspressiv og intuitiv kommandosyntaks.
  • Syntaksutheving, formatert og fargelagt terminalutgang.
  • HTTPS, proxyer og autentiseringsstøtte.
  • Støtte for skjemaer og filopplastinger.
  • Støtte for vilkårlige forespørselsdata og overskrifter.
  • Wget-lignende nedlastinger og utvidelser.
  • Støtter ython 2.7 og 3.x.

I denne artikkelen vil vi vise hvordan du installerer og bruker httpie med noen grunnleggende eksempler i Linux.

Hvordan installere og bruke HTTPie i Linux

De fleste Linux-distribusjoner gir en HTTPie-pakke som enkelt kan installeres ved å bruke standard systempakkebehandling, for eksempel:

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

Når den er installert, er syntaksen for bruk av httpie:

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

Den mest grunnleggende bruken av httpie er å gi den en URL som et argument:

$ http example.com

La oss nå se litt grunnleggende bruk av httpie-kommandoen med eksempler.

Du kan sende en HTTP-metode i forespørselen, for eksempel vil vi sende GET-metoden som brukes til å be om data fra en spesifisert ressurs. Merk at navnet på HTTP-metoden kommer rett før URL-argumentet.

$ http GET tecmint.lan

Dette eksemplet viser hvordan du laster opp en fil til transfer.sh ved hjelp av input omdirigering.

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

Du kan laste ned en fil som vist.

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

Du kan også sende inn data til et skjema som vist.

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

For å se forespørselen som sendes, bruk for eksempel -v-alternativet.

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

HTTPie støtter også grunnleggende HTTP-autentisering fra CLI i formen:

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

Du kan også definere egendefinerte HTTP-overskrifter ved å bruke Header:Value-notasjonen. Vi kan teste dette ved å bruke følgende URL, som returnerer overskrifter. Her har vi definert en egendefinert brukeragent kalt 'strong>TEST 1.0':

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

Se en fullstendig liste over bruksalternativer ved å kjøre.

$ http --help
OR
$ man  ttp

Du kan finne flere brukseksempler fra HTTPie Github-depotet: https://github.com/jakubroztocil/httpie.

HTTPie er en cURL-lignende, moderne, brukervennlig kommandolinje HTTP-klient med enkel og naturlig syntaks, og viser farget utdata. I denne artikkelen har vi vist hvordan du installerer og bruker httpie i Linux. Hvis du har spørsmål, kontakt oss via kommentarskjemaet nedenfor.