Alat naredbenog retka curl savršen je pomoćnik kada radite s HTTP kodom. Testirajte zahtjeve, istražite formate podataka i još mnogo toga!

Protokol za prijenos hiperteksta (HTTP) okosnica je komunikacije putem interneta, koja omogućuje prijenos podataka između poslužitelja i klijenata. Međutim, interakcija s HTTP krajnjim točkama može biti izazovna, osobito za početnike.

Srećom, curl, alat naredbenog retka, pruža jednostavan i učinkovit način za slanje i primanje HTTP zahtjeva. Ovdje ćete naučiti kako koristiti curl za izradu osnovnih HTTP zahtjeva POST, GET, DELETE i PUT.

Instaliranje kovrče

Prema zadanim postavkama, curl je instaliran na glavnim operativnim sustavima uključujući macOS, Linux i Unix.

Možete potvrditi da imate curl instaliran pokretanjem naredbe ispod:

kovrča

Gornja naredba trebala bi ispisati "pokušajte 'curl --help' ili 'curl --manual' za više informacija" na vašem terminalu.

Ako curl nije instaliran na vašem operativnom sustavu, možete ga preuzeti i instalirati s stranicu za preuzimanje curla.

instagram viewer

Izrada HTTP GET zahtjeva

HTTP GET zahtjev je metoda za traženje podataka od web poslužitelj. Ove zahtjeve možete koristiti za dohvaćanje određenog izvora, kao što je web stranica, slika ili video.

Možete napraviti GET zahtjev s curlom u donjem formatu:

kovrčati -X DOBITI 

Zamijeniti s URL-om resursa koji želite dohvatiti.

Na primjer:

kovrčati -X DOBITI https://example.com/todos/1

Pokretanje gornje naredbe čini HTTP GET zahtjev za URL https://example.com/todos/1. The -X DOBITI opcija specificira da je HTTP metoda GET. Kada se naredba pokrene, curl šalje GET zahtjev poslužitelju navedenom u URL-u i čeka na odgovor poslužitelja.

Ako poslužitelj odgovori s uspješan statusni kod, kovrča prikazuje tijelo odgovora u terminalu, što bi u ovom slučaju bili JSON podaci o to-do stavci s ID-om 1.

Alternativno, možete napraviti GET zahtjev bez navođenja -X jer prema zadanim postavkama curl postavlja GET zahtjev kada ne navedete metodu zahtjeva s -X zastava.

Na primjer:

kovrča https://example.com/todos/1

Izvođenje gornje naredbe vratit će isti odgovor kao prethodna naredba s "-X DOBITI” zastava.

Izrada HTTP POST zahtjeva

HTTP POST zahtjev je metoda za spremanje podataka na web poslužitelj. Za razliku od GET zahtjeva, koji šalje podatke kao dio URL-a, POST zahtjev šalje podatke u tijelu poruke zahtjeva. Ovo čini POST zahtjeve sigurnijima za prijenos osjetljivih informacija.

Možete napraviti POST zahtjev s curlom u formatu ispod:

kovrča -X STOP -d 

Na primjer:

curl -X POST -d 'name=jack' -d '[email protected]' \
 https://example.com/users

Gornja naredba šalje POST zahtjev na https://example.com/users s podacima navedenim od strane -d zastava kao korisni teret.

The -d zastavica specificira podatke za slanje. U ovom slučaju specificirao je dva parametra podataka: ime=jack i [email protected].

Kada koristite -d označite više puta u naredbi, možete spojiti polja pomoću simbola &.

Na primjer:

curl -d "ime=jack&[email protected]" https://example.com/api/users

Neke podatke koje možete pokušati poslati u POST zahtjevu može biti teško smjestiti u jedan niz na vašem terminalu. U slučajevima kao što je ovaj, moglo bi biti idealno čitati i POST podatke iz datoteke koristeći curl.

Za slanje podataka iz datoteke u POST zahtjevu kao korisni teret s curl, koristite @ znak odmah nakon -d zastavicu, nakon čega slijedi put datoteke do datoteke koju želite da curl pošalje u zahtjevu.

Na primjer:

curl -X POST -d @users.txt https://example.com/api/users

Određivanje Content-Type

Koristiti -d zastavica automatski postavlja zaglavlje Content-Type na aplikacija/x-www-form-urlencoded. Međutim, možete ručno odrediti odgovarajući Content-Type za svoj zahtjev koristeći -H ili --Zaglavlje zastavicu nakon koje slijedi željena vrsta sadržaja.

Na primjer:

curl -H "Content-Type: application/json" \
 -d '{"ime": "Jack", "email": "[email protected]"}' \
 https://example.com/api/users

U gornjoj naredbi, -H zastavica navodi zaglavlje Content-Type kao Vrsta sadržaja: aplikacija/json.

Možete zamijeniti aplikacija/json s bilo kojim drugim valjanim MIME tipom ili tipom sadržaja koji je prikladan za podatke koje šaljete u tijelu zahtjeva. Na primjer, kada učitavate binarne podatke, kao što je slika ili audio datoteka, trebali biste postaviti Content-Type na multipart/form-data.

To vam omogućuje da navedete očekivani format poslanih podataka, što može biti važno pri interakciji s API-jima ili web-uslugama koje zahtijevaju određene vrste sadržaja za ispravnu obradu.

Izrada HTTP PUT zahtjeva

HTTP PUT zahtjev je metoda za ažuriranje postojećeg resursa na web poslužitelju ili stvaranje istog ako resurs ne postoji. Ova se metoda razlikuje od POST metode u smislu da je idempotentna. To znači da pozivanje metode PUT jednom ili više puta uzastopno ima isti učinak na poslužitelj.

Možete napraviti PUT zahtjev s curlom u formatu ispod:

curl -X PUT -H "Content-Type: application/json" \
 -d '{"ime": "Jack Bauer", "e-pošta": "[email protected]"}' \
 https://example.com/api/users/4

Gornja naredba šalje PUT zahtjev u JSON formatu web poslužitelju navedenom u gornjem URL-u i ažurira navedeni resurs. Ako navedeni resurs ne postoji, kreirat će resurs na web poslužitelju.

Izrada HTTP DELETE zahtjeva

HTTP DELETE zahtjev je metoda za brisanje određenog resursa s web poslužitelja. Slično PUT zahtjevima, DELETE zahtjevi su idempotentni. Slanje istog DELETE zahtjeva više puta na isti resurs proizvest će isti rezultat na poslužitelju.

Zahtjev za DELETE možete napraviti pomoću curl-a pokretanjem naredbe ispod:

kovrčati -X IZBRIŠI http://example.com/api/users/3

Gornja naredba šalje DELETE zahtjev web poslužitelju navedenom u gornjem URL-u i briše navedeni resurs.

Zahtjevi za brisanje trajno uklanjaju navedeni resurs s poslužitelja. Stoga web poslužitelj koji podržava DELETE obično zahtijeva oblik autentifikacija ili autorizacija prije nego što možete uputiti ovaj zahtjev.

Evo kako napraviti zahtjev DELETE s autorizacijskim zaglavljem:

curl -X DELETE -H "Autorizacija: Nositelj my_access_token" \
 https://example.com/api/users/3

Gornja naredba pruža informacije o autentifikaciji u zaglavlju zahtjeva korištenjem metode provjere autentičnosti nositelja s -H zastava. Autorizacija: nositelj my_access_token je vrijednost zaglavlja. moj_pristupni_token je rezervirano mjesto za vašu stvarnu vrijednost tokena pristupa.

Drugi načini na koje možete postavljati HTTP zahtjeve

Osim curla, postoji više načina za izradu HTTP zahtjeva ovisno o kontekstu zahtjeva. Najčešće metode uključuju korištenje web preglednika poput Chromea, GUI alata poput Postmana ili API klijenta.

Svaka od ovih opcija dolazi sa svojim prednostima i nedostacima. U konačnici, vaš izbor alata ovisit će o zahtjevima vašeg zadatka.