Curl-komentorivityökalu on täydellinen apu, kun työskentelet HTTP-koodin kanssa. Testaa pyyntöjä, tutki tietomuotoja ja paljon muuta!

HTTP (Hypertext Transfer Protocol) on Internet-viestinnän selkäranka, joka mahdollistaa tiedonsiirron palvelimien ja asiakkaiden välillä. Vuorovaikutus HTTP-päätepisteiden kanssa voi kuitenkin olla haastavaa varsinkin aloittelijoille.

Onneksi curl, komentorivityökalu, tarjoaa helpon ja tehokkaan tavan lähettää ja vastaanottaa HTTP-pyyntöjä. Täällä opit käyttämään curl-toimintoa perus POST-, GET-, DELETE- ja PUT HTTP-pyyntöjen tekemiseen.

Kiharan asennus

Oletuksena curl on asennettu suuriin käyttöjärjestelmiin, kuten macOS, Linux ja Unix.

Voit varmistaa, että curl on asennettu suorittamalla alla oleva komento:

kiemura

Yllä olevan komennon pitäisi tulostaa "try 'curl --help' tai 'curl --manual' saadaksesi lisätietoja" päätteeseesi.

Jos curlia ei ole asennettu käyttöjärjestelmääsi, voit ladata ja asentaa sen osoitteesta curl lataussivulla.

HTTP GET -pyynnön tekeminen

instagram viewer

HTTP GET -pyyntö on menetelmä tietojen pyytämiseen web-palvelin. Voit käyttää näitä pyyntöjä tietyn resurssin, kuten verkkosivun, kuvan tai videon, hakemiseen.

Voit tehdä GET-pyynnön curlilla alla olevassa muodossa:

curl -X GET 

Korvata sen resurssin URL-osoitteella, jonka haluat noutaa.

Esimerkiksi:

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

Yllä olevan komennon suorittaminen tekee HTTP GET -pyynnön URL-osoitteeseen https://example.com/todos/1. The -X SAAT vaihtoehto määrittää, että HTTP-menetelmä on GET. Kun komento suoritetaan, curl lähettää GET-pyynnön URL-osoitteessa määritettyyn palvelimeen ja odottaa palvelimen vastausta.

Jos palvelin vastaa onnistunut tilakoodi, kiemura näyttää terminaalissa vastauksen rungon, joka tässä tapauksessa olisi JSON-tiedot tehtävästä, jonka tunnus on 1.

Vaihtoehtoisesti voit tehdä GET-pyynnön määrittämättä -X lippu, koska oletusarvoisesti curl tekee GET-pyynnön, kun et määritä pyyntömenetelmää -X lippu.

Esimerkiksi:

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

Yllä olevan komennon suorittaminen palauttaa saman vastauksen kuin edellinen komento "-X SAAT”lippu.

HTTP POST -pyynnön tekeminen

HTTP POST -pyyntö on menetelmä tietojen tallentamiseksi verkkopalvelimelle. Toisin kuin GET-pyyntö, joka lähettää dataa osana URL-osoitetta, POST-pyyntö lähettää tietoja pyynnön viestin rungossa. Tämä tekee POST-pyynnöistä turvallisempia arkaluonteisten tietojen välittämiseen.

Voit tehdä POST-pyynnön curlilla alla olevassa muodossa:

curl -X POST -d 

Esimerkiksi:

curl -X POST -d 'nimi=jakki' -d 'sähkö[email protected]' \
 https://example.com/users

Yllä oleva komento lähettää POST-pyynnön osoitteeseen https://example.com/users määrittämillä tiedoilla -d lippu hyötykuormaksi.

The -d lippu määrittää lähetettävät tiedot. Tässä tapauksessa se määritti kaksi dataparametria: nimi = jack ja [email protected].

Kun käytät -d merkitse useammin kuin kerran komennossa, voit yhdistää kentät &-symbolilla.

Esimerkiksi:

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

Joitakin tietoja, joita saatat yrittää lähettää POST-pyynnössä, saattaa olla vaikea sovittaa yhteen päätemerkkijonoon. Tällaisissa tapauksissa saattaa olla ihanteellista lukea ja POSTAA tiedot tiedostosta curlilla.

Jos haluat lähettää tietoja tiedostosta POST-pyynnössä hyötykuormana, jossa on curl, käytä @ allekirjoittaa heti perään -d lippu, jota seuraa tiedostopolku tiedostoon, jonka haluat curl lähettää pyynnössä.

Esimerkiksi:

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

Sisältötyypin määrittäminen

Käyttämällä -d lippu asettaa automaattisesti Content-Type-otsikon arvoon Application/x-www-form-urlencoded. Voit kuitenkin määrittää manuaalisesti pyyntöösi sopivan sisältötyypin käyttämällä -H tai --otsikko lippu ja haluttu sisältötyyppi.

Esimerkiksi:

curl -H "Sisältötyyppi: sovellus/json" \
 -d '{"nimi": "Jack", "email": "[email protected]"}' \
 https://example.com/api/users

Yllä olevassa komennossa -H lippu määrittää Content-Type-otsikon muodossa Sisältötyyppi: sovellus/json.

Voit vaihtaa sovellus/json minkä tahansa muun kelvollisen MIME-tyypin tai sisältötyypin kanssa, joka soveltuu pyynnön rungossa lähettämillesi tiedoille. Kun esimerkiksi lataat binaaridataa, kuten kuva- tai äänitiedostoa, sinun tulee asettaa Content-Type-asetukseksi moniosainen/lomake-data.

Tämän avulla voit määrittää lähetettyjen tietojen odotetun muodon, mikä voi olla tärkeää vuorovaikutuksessa API: iden tai verkkopalvelujen kanssa, jotka edellyttävät tiettyjä sisältötyyppejä asianmukaista käsittelyä varten.

HTTP PUT -pyynnön tekeminen

HTTP PUT -pyyntö on menetelmä olemassa olevan resurssin päivittämiseen web-palvelimella tai sellaisen luomiseen, jos resurssia ei ole olemassa. Tämä menetelmä eroaa POST-menetelmästä siinä mielessä, että se on idempotentti. Tämä tarkoittaa, että PUT-menetelmän kutsuminen kerran tai useita kertoja peräkkäin vaikuttaa palvelimeen samalla tavalla.

Voit tehdä PUT-pyynnön curlilla alla olevassa muodossa:

curl -X PUT -H "Sisältötyyppi: sovellus/json" \
 -d '{"nimi": "Jack Bauer", "sähköposti": "[email protected]"}' \
 https://example.com/api/users/4

Yllä oleva komento lähettää PUT-pyynnön JSON-muodossa yllä olevassa URL-osoitteessa määritettyyn verkkopalvelimeen ja päivittää määritetyn resurssin. Jos määritettyä resurssia ei ole olemassa, se luo resurssin verkkopalvelimelle.

HTTP DELETE -pyynnön tekeminen

HTTP DELETE -pyyntö on menetelmä tietyn resurssin poistamiseksi verkkopalvelimelta. Kuten PUT-pyynnöt, DELETE-pyynnöt ovat idempotentteja. Saman DELETE-pyynnön lähettäminen useita kertoja samaan resurssiin tuottaa saman tuloksen palvelimella.

Voit tehdä DELETE-pyynnön curlilla suorittamalla alla olevan komennon:

curl -X POISTA http://example.com/api/users/3

Yllä oleva komento lähettää DELETE-pyynnön yllä olevassa URL-osoitteessa määritettyyn verkkopalvelimeen ja poistaa määritetyn resurssin.

Poistopyynnöt poistavat määritetyn resurssin pysyvästi palvelimelta. Näin ollen DELETE-toimintoa tukeva verkkopalvelin vaatii yleensä muodon todennus tai valtuutus ennen kuin voit tehdä tämän pyynnön.

Näin voit tehdä POISTA-pyynnön valtuutusotsikolla:

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

Yllä oleva komento tarjoaa todennustiedot pyynnön otsikossa käyttämällä Bearer-todennusmenetelmää -H lippu. Valtuutus: Bearer my_access_token on otsikon arvo. my_access_token on paikkamerkki todelliselle käyttöoikeustunnuksesi arvolle.

Muita tapoja tehdä HTTP-pyyntöjä

Curlin lisäksi HTTP-pyyntöjen tekemiseen on useita tapoja pyynnön kontekstista riippuen. Yleisimmät menetelmät sisältävät verkkoselaimen, kuten Chromen, GUI-työkalun, kuten Postman, tai API-asiakkaan.

Jokaisella näistä vaihtoehdoista on etunsa ja kompromissinsa. Viime kädessä työkalun valinta riippuu tehtäväsi vaatimuksista.