Curl käsurea tööriist on suurepärane abimees HTTP-koodiga töötamisel. Testige taotlusi, uurige andmevorminguid ja palju muud!
Hüperteksti edastusprotokoll (HTTP) on Interneti-suhtluse selgroog, mis võimaldab andmete edastamist serverite ja klientide vahel. HTTP lõpp-punktidega suhtlemine võib aga olla keeruline, eriti algajatele.
Õnneks pakub käsureatööriist curl lihtsat ja tõhusat viisi HTTP-päringute saatmiseks ja vastuvõtmiseks. Siit saate teada, kuidas kasutada curl'i põhiliste POST-, GET-, DELETE- ja PUT-HTTP-päringute tegemiseks.
Curl paigaldamine
Vaikimisi on curl installitud suurematesse operatsioonisüsteemidesse, sealhulgas macOS, Linux ja Unix.
Saate kinnitada, et curl on installitud, käivitades alloleva käsu:
lokk
Ülaltoodud käsk peaks lisateabe saamiseks trükkima "proovige "curl --help" või "curl --manual" oma terminalis.
Kui curl pole teie operatsioonisüsteemi installitud, saate selle alla laadida ja installida saidilt lokkide allalaadimise leht.
HTTP GET-i päringu tegemine
HTTP GET päring on meetod andmete pärimiseks
veebiserver. Saate neid päringuid kasutada konkreetse ressursi (nt veebilehe, pildi või video) toomiseks.Saate esitada curl'iga GET-päringu allolevas vormingus:
curl -X GET
Asenda koos selle ressursi URL-iga, mida soovite tuua.
Näiteks:
curl -X GET https://example.com/todos/1
Ülaltoodud käsu käivitamine teeb URL-ile HTTP GET-päringu https://example.com/todos/1. The -X SAADA suvand määrab, et HTTP-meetod on GET. Käsu käitamisel saadab curl URL-is määratud serverile GET-päringu ja ootab serveri vastust.
Kui server vastab edukas olekukood, lokk kuvab terminalis vastuse keha, mis sel juhul oleks JSON-andmed ülesande üksuse kohta, mille ID on 1.
Teise võimalusena saate teha GET-päringu ilma seda määramata -X märgi, sest vaikimisi teeb curl GET-päringu, kui te ei määra päringumeetodit -X lipp.
Näiteks:
lokk https://example.com/todos/1
Ülaltoodud käsu käivitamine tagastab sama vastuse nagu eelmine käsk koos "-X SAADA” lipp.
HTTP POST-i päringu tegemine
HTTP POST päring on meetod andmete salvestamiseks veebiserverisse. Erinevalt GET-päringust, mis saadab andmeid URL-i osana, saadab POST-päring andmed päringu sõnumi sisus. See muudab POST-päringud tundliku teabe edastamiseks turvalisemaks.
Saate teha curl'iga POST-päringu allolevas vormingus:
curl -X POST -d
Näiteks:
curl -X POST -d 'nimi=jack' -d '[email protected]' \
https://example.com/users
Ülaltoodud käsk saadab POST-päringu aadressile https://example.com/users poolt määratud andmetega -d lipp kasuliku koormana.
The -d lipp määrab edastatavad andmed. Sel juhul määras see kaks andmeparameetrit: nimi=jack ja [email protected].
Kui kasutate -d liputage käsus mitu korda, saate välju ühendada sümboli & abil.
Näiteks:
curl -d "nimi=jack&[email protected]" https://example.com/api/users
Teatud andmeid, mida võite proovida POST-päringus saata, võib olla raske terminalis ühte stringi mahutada. Sellistel juhtudel võib olla ideaalne lugeda ja postitada andmeid failist curl'i abil.
POST-i päringus olevast failist andmete saatmiseks kõverusega kasuliku koormusena kasutage @ allkirjastada kohe pärast -d lipp, millele järgneb failitee, mille soovite curl päringus saata.
Näiteks:
curl -X POST -d @users.txt https://example.com/api/users
Sisutüübi määramine
Kasutades -d lipp määrab automaatselt sisutüübi päise väärtuseks Application/x-www-form-urlencoded. Siiski saate oma päringule sobiva sisutüübi käsitsi määrata, kasutades -H või --päis lipp, millele järgneb soovitud sisutüüp.
Näiteks:
curl -H "Sisutüüp: rakendus/json" \
-d '{"nimi": "Jack", "e-post": "[email protected]"}' \
https://example.com/api/users
Ülaltoodud käsus on -H lipp määrab sisutüübi päise kui Sisutüüp: rakendus/json.
Saate asendada rakendus/json mis tahes muu kehtiva MIME-tüübi või sisutüübiga, mis sobib teie päringu kehasse saadetavate andmetega. Näiteks binaarandmete (nt pildi- või helifaili) üleslaadimisel peaksite määrama sisutüübi väärtuseks mitmeosaline/vorm-andmed.
See võimaldab teil määrata saadetud andmete eeldatava vormingu, mis võib olla oluline API-de või veebiteenustega suhtlemisel, mis nõuavad õigeks töötlemiseks konkreetseid sisutüüpe.
HTTP PUT-päringu tegemine
HTTP PUT päring on meetod olemasoleva ressursi värskendamiseks veebiserveris või selle loomiseks, kui ressurssi pole olemas. See meetod erineb POST-meetodist selle poolest, et see on idempotentne. See tähendab, et PUT-meetodi kutsumisel üks või mitu korda järjest on serverile sama mõju.
Saate teha curl'iga PUT-päringu allolevas vormingus:
curl -X PUT -H "Sisutüüp: rakendus/json" \
-d '{"nimi": "Jack Bauer", "e-post": "[email protected]"}' \
https://example.com/api/users/4
Ülaltoodud käsk saadab JSON-vormingus PUT-päringu ülaltoodud URL-is määratud veebiserverisse ja värskendab määratud ressurssi. Kui määratud ressurssi pole, loob see ressursi veebiserveris.
HTTP DELETE taotluse esitamine
HTTP DELETE taotlus on meetod määratud ressursi kustutamiseks veebiserverist. Sarnaselt PUT-päringutele on DELETE-päringud idempotentsed. Sama DELETE taotluse mitu korda samale ressursile saatmine annab serveris sama tulemuse.
Saate teha curliga DELETE taotluse, käivitades alloleva käsu:
curl -X DELETE http://example.com/api/users/3
Ülaltoodud käsk saadab ülaltoodud URL-is määratud veebiserverile DELETE-päringu ja kustutab määratud ressursi.
Kustutamistaotlused eemaldavad määratud ressursi jäädavalt serverist. Seega nõuab DELETE-i toetav veebiserver tavaliselt vormi autentimine või autoriseerimine enne kui saate selle taotluse esitada.
Autoriseerimispäisega DELETE-taotluse tegemiseks tehke järgmist.
curl -X DELETE -H "Autoriseerimine: kandja minu_juurdepääsuluba" \
https://example.com/api/users/3
Ülaltoodud käsk annab päringu päises autentimisteabe, kasutades kandja autentimismeetodit koos -H lipp. Autoriseerimine: kandja minu_juurdepääsuluba on päise väärtus. minu_juurdepääsuluba on teie tegeliku juurdepääsuloa väärtuse kohatäide.
Muud viisid, kuidas saate teha HTTP-päringuid
Lisaks curl'ile on HTTP-päringute tegemiseks mitu võimalust, olenevalt päringu kontekstist. Kõige tavalisemad meetodid hõlmavad veebibrauseri (nt Chrome), GUI-tööriista (nt Postman) või API-kliendi kasutamist.
Igal neist valikutest on oma eelised ja kompromissid. Lõppkokkuvõttes sõltub teie tööriista valik teie ülesande nõuetest.