HTTPie - En moderne HTTP-klient svarende til Curl- og Wget-kommandoer


HTTPie (udtales aitch-tee-tee-pie) er en CURL-lignende, moderne, brugervenlig og cross-platform kommandolinje HTTP-klient skrevet i Python. Det er designet til at gøre CLI-interaktion med webservices let og så brugervenlig som muligt.

Den har en simpel http-kommando, der giver brugerne mulighed for at sende vilkårlige HTTP-anmodninger ved hjælp af en ligetil og naturlig syntaks. Det bruges primært til test, problemfri fejlfinding og hovedsagelig interaktion med HTTP-servere, webservices og RESTful API'er.

  • HTTPie leveres med et intuitivt brugergrænseflade og understøtter JSON.
  • Ekspressiv og intuitiv kommandosyntaks.
  • Syntaksfremhævning, formateret og farvet terminaloutput.
  • HTTPS, proxyer og godkendelsesunderstøttelse.
  • Understøttelse af formularer og filoverførsler.
  • Støtte til vilkårlige anmodningsdata og overskrifter.
  • Wget-lignende downloads og udvidelser.
  • Understøtter ython 2.7 og 3.x.

I denne artikel vil vi vise, hvordan du installerer og bruger httpie med nogle grundlæggende eksempler i Linux.

Sådan installeres og bruges HTTPie i Linux

De fleste Linux-distributioner leverer en HTTPie-pakke, der let kan installeres ved hjælp af standardsystempakkehåndteringen, 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 installeret, er syntaksen for at bruge httpie:

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

Den mest basale anvendelse af httpie er at give den en URL som et argument:

$ http example.com

Lad os nu se nogle grundlæggende anvendelser af httpie-kommandoen med eksempler.

Du kan sende en HTTP-metode i anmodningen, for eksempel sender vi GET-metoden, der bruges til at anmode om data fra en bestemt ressource. Bemærk, at navnet på HTTP-metoden kommer lige før URL-argumentet.

$ http GET tecmint.lan

Dette eksempel viser, hvordan man uploader en fil til transfer.sh ved hjælp af inputomdirigering.

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

Du kan downloade 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å indsende data til en formular som vist.

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

For at se den anmodning, der sendes, skal du f.eks. Bruge indstillingen -v .

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

HTTPie understøtter også grundlæggende HTTP-godkendelse fra CLI i form:

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

Du kan også definere brugerdefinerede HTTP-overskrifter ved at bruge overskriften: Værdinotation. Vi kan teste dette ved hjælp af følgende URL, som returnerer overskrifter. Her har vi defineret en brugerdefineret bruger-agent kaldet 'stærk> TEST 1.0':

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

Se en komplet liste over anvendelsesmuligheder ved at køre.

$ http --help
OR
$ man  ttp

Du kan finde flere eksempler på brug fra HTTPie Github-arkivet: https://github.com/jakubroztocil/httpie.

HTTPie er en cURL-lignende, moderne, brugervenlig kommandolinje HTTP-klient med enkel og naturlig syntaks og viser farvet output. I denne artikel har vi vist, hvordan du installerer og bruger httpie i Linux. Hvis du har spørgsmål, kan du kontakte os via nedenstående kommentarformular.