„Curl“ komandų eilutės įrankis yra puikus pagalbininkas dirbant su HTTP kodu. Išbandykite užklausas, tyrinėkite duomenų formatus ir dar daugiau!

Hiperteksto perdavimo protokolas (HTTP) yra komunikacijos internetu pagrindas, leidžiantis perduoti duomenis tarp serverių ir klientų. Tačiau sąveika su HTTP galutiniais taškais gali būti sudėtinga, ypač pradedantiesiems.

Laimei, curl, komandų eilutės įrankis, yra paprastas ir efektyvus būdas siųsti ir gauti HTTP užklausas. Čia sužinosite, kaip naudoti curl, kad pateiktumėte pagrindines POST, GET, DELETE ir PUT HTTP užklausas.

Garbanos montavimas

Pagal numatytuosius nustatymus „curl“ įdiegta pagrindinėse operacinėse sistemose, įskaitant „MacOS“, „Linux“ ir „Unix“.

Galite patvirtinti, kad įdiegėte curl, vykdydami toliau pateiktą komandą:

garbanoti

Aukščiau pateikta komanda terminale turėtų išspausdinti „pabandykite curl --help“ arba „curl --manual“, kad gautumėte daugiau informacijos.

Jei jūsų operacinėje sistemoje „curl“ neįdiegta, galite ją atsisiųsti ir įdiegti iš garbanos atsisiuntimo puslapis.

instagram viewer

HTTP GET užklausos pateikimas

HTTP GET užklausa yra duomenų užklausos metodas žiniatinklio serveris. Šias užklausas galite naudoti norėdami gauti konkrečius išteklius, pvz., tinklalapį, vaizdą ar vaizdo įrašą.

Galite pateikti GET užklausą su curl tokiu formatu:

curl -X GET 

Pakeiskite su ištekliaus, kurį norite gauti, URL.

Pavyzdžiui:

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

Vykdant aukščiau pateiktą komandą pateikiama HTTP GET užklausa URL https://example.com/todos/1. The -X GAUTI parinktis nurodo, kad HTTP metodas yra GET. Kai komanda vykdoma, curl siunčia GET užklausą URL nurodytam serveriui ir laukia serverio atsakymo.

Jei serveris atsako su sėkmingas būsenos kodas, garbanoti terminale rodo atsakymo turinį, kuris šiuo atveju būtų JSON duomenys apie užduoties elementą, kurio ID yra 1.

Arba galite pateikti GET užklausą nenurodydami -X žyma, nes pagal numatytuosius nustatymus curl pateikia GET užklausą, kai nenurodote užklausos metodo su -X vėliava.

Pavyzdžiui:

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

Vykdydami aukščiau pateiktą komandą, atsakymas bus toks pat kaip ir ankstesnė komanda su "-X GAUTI“ vėliava.

HTTP POST užklausos pateikimas

HTTP POST užklausa yra duomenų išsaugojimo žiniatinklio serveryje metodas. Skirtingai nuo GET užklausos, kuri siunčia duomenis kaip URL dalį, POST užklausa siunčia duomenis užklausos pranešimo tekste. Dėl to POST užklausos tampa saugesnės perduodant neskelbtiną informaciją.

Galite pateikti POST užklausą su curl tokiu formatu:

curl -X POST -d 

Pavyzdžiui:

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

Aukščiau pateikta komanda siunčia POST užklausą https://example.com/users nurodytais duomenimis -d vėliava kaip naudingas krovinys.

The -d vėliavėlė nurodo siunčiamus duomenis. Šiuo atveju buvo nurodyti du duomenų parametrai: vardas = jakas ir [email protected].

Kai naudojate -d komandoje pažymėkite daugiau nei vieną kartą, laukus galite sujungti naudodami simbolį &.

Pavyzdžiui:

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

Kai kuriuos duomenis, kuriuos galite bandyti siųsti POST užklausoje, gali būti sunku sutalpinti į vieną terminalo eilutę. Tokiais atvejais gali būti idealu nuskaityti ir paskelbti duomenis iš failo naudojant curl.

Norėdami siųsti duomenis iš failo POST užklausoje kaip naudingą apkrovą su garbanomis, naudokite @ pasirašyti iškart po -d vėliavėlė, po kurios nurodomas failo kelias į failą, kurį norite curl siųsti užklausoje.

Pavyzdžiui:

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

Nurodykite turinio tipą

Naudojant -d vėliavėlė automatiškai nustato turinio tipo antraštę į Application/x-www-form-urlencoded. Tačiau galite neautomatiniu būdu nurodyti užklausai tinkamą turinio tipą naudodami -H arba --antraštė vėliavėlė ir norimas turinio tipas.

Pavyzdžiui:

curl -H "Turinio tipas: programa/json" \
 -d '{"vardas": "Jackas", "el. paštas": "[email protected]"}' \
 https://example.com/api/users

Aukščiau esančioje komandoje -H vėliavėlė nurodo turinio tipo antraštę kaip Turinio tipas: programa/json.

Galite pakeisti programa/json su bet kokiu kitu galiojančiu MIME tipu ar turinio tipu, kuris tinka jūsų siunčiamiems duomenims užklausos turinyje. Pavyzdžiui, įkeldami dvejetainius duomenis, pvz., vaizdą ar garso failą, turėtumėte nustatyti turinio tipą į kelių dalių / formos duomenys.

Tai leidžia nurodyti numatomą siunčiamų duomenų formatą, kuris gali būti svarbus sąveikaujant su API arba žiniatinklio paslaugomis, kurioms reikia tam tikrų turinio tipų, kad būtų galima tinkamai apdoroti.

HTTP PUT užklausos pateikimas

HTTP PUT užklausa yra būdas atnaujinti esamą išteklį žiniatinklio serveryje arba sukurti, jei ištekliaus nėra. Šis metodas skiriasi nuo POST metodo tuo, kad yra idempotentas. Tai reiškia, kad PUT metodo iškvietimas vieną ar kelis kartus iš eilės turi tokį patį poveikį serveriui.

Galite pateikti PUT užklausą su curl tokiu formatu:

curl -X PUT -H "Turinio tipas: programa/json" \
 -d '{"vardas": "Jackas Baueris", "el. paštas": "[email protected]"}' \
 https://example.com/api/users/4

Aukščiau pateikta komanda siunčia PUT užklausą JSON formatu į žiniatinklio serverį, nurodytą aukščiau esančiame URL, ir atnaujina nurodytą šaltinį. Jei nurodyto resurso nėra, jis sukurs išteklius žiniatinklio serveryje.

HTTP DELETE užklausos pateikimas

HTTP DELETE užklausa yra būdas ištrinti nurodytą šaltinį iš žiniatinklio serverio. Panašiai kaip PUT užklausos, DELETE užklausos yra idealios. Siunčiant tą pačią DELETE užklausą kelis kartus į tą patį šaltinį, serveris duos tą patį rezultatą.

Galite pateikti DELETE užklausą su curl vykdydami toliau pateiktą komandą:

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

Aukščiau pateikta komanda siunčia DELETE užklausą į žiniatinklio serverį, nurodytą aukščiau esančiame URL, ir ištrina nurodytą šaltinį.

Ištrynimo užklausos visam laikui pašalina nurodytus išteklius iš serverio. Taigi žiniatinklio serveriui, kuris palaiko DELETE, paprastai reikia formos autentifikavimas arba autorizacija prieš pateikdami šį prašymą.

Štai kaip pateikti DELETE užklausą su įgaliojimo antrašte:

curl -X DELETE -H "Prieiga: nešiklis mano_prieigos_token" \
 https://example.com/api/users/3

Aukščiau pateikta komanda užklausos antraštėje pateikia autentifikavimo informaciją, naudojant nešiklio autentifikavimo metodą su -H vėliava. Įgaliojimas: nešėjas my_access_token yra antraštės reikšmė. mano_prieigos_žetonas yra jūsų faktinės prieigos prieigos rakto vertės rezervuota vieta.

Kiti būdai, kaip galite pateikti HTTP užklausas

Be curl, yra keletas būdų, kaip pateikti HTTP užklausas, atsižvelgiant į užklausos kontekstą. Dažniausiai naudojami interneto naršyklės, pvz., „Chrome“, GUI įrankio, pvz., „Postman“ arba API kliento, naudojimas.

Kiekviena iš šių parinkčių turi savo privalumų ir kompromisų. Galiausiai įrankio pasirinkimas priklausys nuo jūsų užduoties reikalavimų.