Orodje ukazne vrstice curl je popoln pomočnik, ko delate s kodo HTTP. Preizkusite zahteve, raziščite formate podatkov in še več!

Protokol za prenos hiperteksta (HTTP) je hrbtenica komunikacije prek interneta, ki omogoča prenos podatkov med strežniki in odjemalci. Vendar pa je lahko interakcija s končnimi točkami HTTP izziv, zlasti za začetnike.

Na srečo curl, orodje ukazne vrstice, ponuja enostaven in učinkovit način za pošiljanje in prejemanje zahtev HTTP. Tukaj se boste naučili, kako uporabljati curl za izdelavo osnovnih HTTP zahtev POST, GET, DELETE in PUT.

Namestitev curl

Curl je privzeto nameščen v večjih operacijskih sistemih, vključno z macOS, Linux in Unix.

Lahko potrdite, da imate curl nameščen tako, da zaženete spodnji ukaz:

curl

Zgornji ukaz bi moral na vašem terminalu izpisati "poskusite 'curl --help' ali 'curl --manual' za več informacij".

Če curl ni nameščen v vašem operacijskem sistemu, ga lahko prenesete in namestite iz stran za prenos curl.

Izdelava zahteve HTTP GET

Zahteva HTTP GET je metoda za zahtevanje podatkov iz

instagram viewer
spletni strežnik. Te zahteve lahko uporabite za pridobitev določenega vira, kot je spletna stran, slika ali video.

Zahtevo GET lahko podate s curl v spodnji obliki:

curl -X GET 

Zamenjati z URL-jem vira, ki ga želite pridobiti.

Na primer:

curl -X GET https://example.com/todos/1

Zagon zgornjega ukaza povzroči zahtevo HTTP GET za URL https://example.com/todos/1. The -X DOBITE možnost določa, da je metoda HTTP GET. Ko se ukaz zažene, curl pošlje zahtevo GET strežniku, navedenemu v URL-ju, in čaka na odgovor strežnika.

Če se strežnik odzove z uspešno statusno kodo, curl prikaže telo odgovora v terminalu, ki bi bili v tem primeru podatki JSON o opravilu z ID-jem 1.

Druga možnost je, da podate zahtevo GET, ne da bi navedli -X zastavico, ker curl privzeto naredi zahtevo GET, ko ne podate metode zahteve z -X zastava.

Na primer:

curl https://example.com/todos/1

Zagon zgornjega ukaza bo vrnil enak odgovor kot prejšnji ukaz z "-X DOBITE” zastava.

Izdelava zahteve HTTP POST

Zahteva HTTP POST je metoda za shranjevanje podatkov v spletni strežnik. Za razliko od zahteve GET, ki pošilja podatke kot del URL-ja, zahteva POST pošilja podatke v telesu zahteve zahteve. Zaradi tega so zahteve POST varnejše za prenos občutljivih informacij.

Zahtevo POST lahko naredite s curl v spodnji obliki:

curl -X POST -d 

Na primer:

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

Zgornji ukaz pošlje zahtevo POST na https://example.com/users s podatki, ki jih določi -d zastavo kot tovor.

The -d zastavica določa podatke za pošiljanje. V tem primeru je določil dva parametra podatkov: ime=jack in [email protected].

Ko uporabljate -d več kot enkrat v ukazu, lahko združite polja s simbolom &.

Na primer:

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

Nekatere podatke, ki jih boste morda poskušali poslati v zahtevi POST, bo morda težko umestiti v en sam niz v vašem terminalu. V takšnih primerih je morda idealno prebrati in objaviti podatke iz datoteke z uporabo curl.

Če želite poslati podatke iz datoteke v zahtevi POST kot obremenitev s curl, uporabite @ podpišite takoj za -d zastavico, ki ji sledi pot do datoteke, ki jo želite curl poslati v zahtevi.

Na primer:

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

Določanje vrste vsebine

Uporabljati -d zastavica samodejno nastavi glavo Content-Type na aplikacija/x-www-form-urlencoded. Vendar pa lahko ročno določite ustrezno Content-Type za svojo zahtevo z uporabo -H oz --glava zastavico, ki ji sledi želena vrsta vsebine.

Na primer:

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

V zgornjem ukazu je -H zastavica določa glavo Content-Type kot Vrsta vsebine: aplikacija/json.

Lahko zamenjate aplikacija/json s katero koli drugo veljavno vrsto MIME ali vrsto vsebine, ki je primerna za podatke, ki jih pošiljate v telesu zahteve. Ko na primer nalagate binarne podatke, kot je slika ali zvočna datoteka, morate Content-Type nastaviti na multipart/form-data.

To vam omogoča, da določite pričakovano obliko poslanih podatkov, kar je lahko pomembno pri interakciji z API-ji ali spletnimi storitvami, ki za pravilno obdelavo zahtevajo posebne vrste vsebine.

Izdelava zahteve HTTP PUT

Zahteva HTTP PUT je metoda za posodobitev obstoječega vira na spletnem strežniku ali njegovo ustvarjanje, če vir ne obstaja. Ta metoda se od metode POST razlikuje po tem, da je idempotentna. To pomeni, da ima enkratni ali večkratni zaporedni klic metode PUT enak učinek na strežnik.

Zahtevo PUT lahko naredite s curl v spodnji obliki:

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

Zgornji ukaz pošlje zahtevo PUT v formatu JSON na spletni strežnik, naveden v zgornjem URL-ju, in posodobi podani vir. Če navedeni vir ne obstaja, bo ustvaril vir na spletnem strežniku.

Izdelava zahteve HTTP DELETE

Zahteva HTTP DELETE je metoda za brisanje določenega vira s spletnega strežnika. Podobno kot zahteve PUT so zahteve DELETE idempotentne. Večkratno pošiljanje iste zahteve DELETE na isti vir bo povzročilo enak rezultat na strežniku.

S curl lahko naredite zahtevo DELETE tako, da zaženete spodnji ukaz:

curl -X IZBRIŠI http://example.com/api/users/3

Zgornji ukaz pošlje zahtevo DELETE spletnemu strežniku, navedenemu v zgornjem URL-ju, in izbriše navedeni vir.

Zahteve za brisanje trajno odstranijo navedeni vir iz strežnika. Tako spletni strežnik, ki podpira DELETE, običajno zahteva obliko avtentikacijo ali avtorizacijo preden lahko vložite to zahtevo.

Tukaj je opisano, kako naredite zahtevo DELETE z avtorizacijsko glavo:

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

Zgornji ukaz zagotavlja informacije o preverjanju pristnosti v glavi zahteve z uporabo metode preverjanja pristnosti nosilca z -H zastava. Avtorizacija: nosilec my_access_token je vrednost glave. my_access_token je ograda za vašo dejansko vrednost žetona dostopa.

Drugi načini za pošiljanje zahtev HTTP

Poleg curl obstaja več načinov za izdelavo zahtev HTTP, odvisno od konteksta zahteve. Najpogostejši načini vključujejo uporabo spletnega brskalnika, kot je Chrome, orodja GUI, kot je Postman, ali odjemalca API.

Vsaka od teh možnosti ima svoje prednosti in slabosti. Navsezadnje bo vaša izbira orodja odvisna od zahtev vaše naloge.