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
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.