Nástroj príkazového riadka curl je dokonalým pomocníkom pri práci s kódom HTTP. Otestujte požiadavky, preskúmajte formáty údajov a ďalšie!

Hypertext Transfer Protocol (HTTP) je chrbtovou kosťou komunikácie cez internet, ktorá umožňuje prenos dát medzi servermi a klientmi. Interakcia s koncovými bodmi HTTP však môže byť náročná, najmä pre začiatočníkov.

Našťastie curl, nástroj príkazového riadka, poskytuje jednoduchý a efektívny spôsob odosielania a prijímania požiadaviek HTTP. Tu sa dozviete, ako používať curl na vytváranie základných požiadaviek HTTP POST, GET, DELETE a PUT.

Inštalácia curl

V predvolenom nastavení je curl nainštalovaný na hlavných operačných systémoch vrátane macOS, Linux a Unix.

Môžete potvrdiť, že máte curl nainštalovaný spustením príkazu nižšie:

zvlniť

Vyššie uvedený príkaz by mal na vašom termináli vypísať „skúste 'curl --help' alebo 'curl --manual' pre viac informácií.

Ak curl nie je nainštalovaný vo vašom operačnom systéme, môžete si ho stiahnuť a nainštalovať z stránka na stiahnutie curl.

instagram viewer

Vytvorenie požiadavky HTTP GET

Požiadavka HTTP GET je metóda na vyžiadanie údajov od webový server. Tieto požiadavky môžete použiť na získanie konkrétneho zdroja, ako je webová stránka, obrázok alebo video.

Môžete zadať požiadavku GET s curl vo formáte nižšie:

curl -X GET 

Nahradiť s adresou URL zdroja, ktorý chcete načítať.

Napríklad:

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

Spustenie vyššie uvedeného príkazu vytvorí požiadavku HTTP GET na adresu URL https://example.com/todos/1. The -X GET voľba určuje, že metóda HTTP je GET. Keď sa príkaz spustí, curl odošle požiadavku GET na server zadaný v URL a čaká na odpoveď servera.

Ak server odpovie s úspešný stavový kód, zvlniť zobrazí telo odpovede v termináli, čo by v tomto prípade boli údaje JSON o položke úlohy s ID 1.

Prípadne môžete zadať požiadavku GET bez zadania -X príznak, pretože curl štandardne vytvára požiadavku GET, keď nešpecifikujete metódu požiadavky s -X vlajka.

Napríklad:

zvlniť https://example.com/todos/1

Spustenie vyššie uvedeného príkazu vráti rovnakú odpoveď ako predchádzajúci príkaz s „-X GET“vlajka.

Vytvorenie požiadavky HTTP POST

Požiadavka HTTP POST je metóda na ukladanie údajov na webový server. Na rozdiel od požiadavky GET, ktorá odosiela údaje ako súčasť adresy URL, požiadavka POST odosiela údaje v tele správy žiadosti. Vďaka tomu sú požiadavky POST bezpečnejšie na prenos citlivých informácií.

Môžete zadať požiadavku POST s curl vo formáte nižšie:

curl -X POST -d 

Napríklad:

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

Vyššie uvedený príkaz odošle požiadavku POST na https://example.com/users s údajmi špecifikovanými v -d príznak ako užitočné zaťaženie.

The -d príznak určuje údaje, ktoré sa majú odoslať. V tomto prípade špecifikoval dva parametre údajov: meno=jack a [email protected].

Keď použijete -d príznak viac ako raz v príkaze, môžete polia zlúčiť pomocou symbolu &.

Napríklad:

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

Niektoré údaje, ktoré sa môžete pokúsiť odoslať v požiadavke POST, môže byť ťažké zmestiť do jedného reťazca vo vašom termináli. V prípadoch, ako je tento, môže byť ideálne čítať a odosielať údaje zo súboru pomocou curl.

Ak chcete odoslať údaje zo súboru v požiadavke POST ako užitočné zaťaženie s curl, použite @ podpísať hneď za -d príznak, za ktorým nasleduje cesta k súboru, ktorý má curl odoslať v požiadavke.

Napríklad:

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

Určenie typu obsahu

Pomocou -d flag automaticky nastaví hlavičku Content-Type na application/x-www-form-urlencoded. Môžete však manuálne určiť vhodný typ obsahu pre vašu požiadavku pomocou -H alebo --hlavička príznak, za ktorým nasleduje požadovaný typ obsahu.

Napríklad:

curl -H "Typ obsahu: application/json" \
 -d '{"meno": "Jack", "email": "[email protected]"}' \
 https://example.com/api/users

Vo vyššie uvedenom príkaze je -H príznak určuje hlavičku Content-Type ako Content-Type: application/json.

Môžete nahradiť application/json s akýmkoľvek iným platným typom MIME alebo typom obsahu, ktorý je vhodný pre údaje, ktoré odosielate v tele žiadosti. Napríklad pri nahrávaní binárnych údajov, ako je obrázok alebo zvukový súbor, by ste mali nastaviť Content-Type na multipart/form-data.

To vám umožňuje špecifikovať očakávaný formát odosielaných údajov, čo môže byť dôležité pri interakcii s API alebo webovými službami vyžadujúcimi špecifické typy obsahu na správne spracovanie.

Vytvorenie požiadavky HTTP PUT

Požiadavka HTTP PUT je metóda aktualizácie existujúceho zdroja na webovom serveri alebo jeho vytvorenia, ak zdroj neexistuje. Táto metóda sa líši od metódy POST v tom zmysle, že je idempotentná. To znamená, že volanie metódy PUT raz alebo viackrát za sebou má rovnaký účinok na server.

Môžete zadať požiadavku PUT s curl vo formáte nižšie:

curl -X PUT -H "Typ obsahu: application/json" \
 -d '{"meno": "Jack Bauer", "e-mail": "[email protected]"}' \
 https://example.com/api/users/4

Vyššie uvedený príkaz odošle požiadavku PUT vo formáte JSON na webový server uvedený vo vyššie uvedenej adrese URL a aktualizuje zadaný zdroj. Ak zadaný prostriedok neexistuje, vytvorí sa prostriedok na webovom serveri.

Vytvorenie požiadavky HTTP DELETE

Požiadavka HTTP DELETE je metóda na odstránenie špecifikovaného zdroja z webového servera. Podobne ako požiadavky PUT, požiadavky DELETE sú idempotentné. Odoslanie rovnakej požiadavky DELETE viackrát do rovnakého zdroja bude mať na serveri rovnaký výsledok.

Požiadavku DELETE s curl môžete vykonať spustením príkazu nižšie:

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

Vyššie uvedený príkaz odošle požiadavku DELETE na webový server zadaný vo vyššie uvedenej adrese URL a vymaže zadaný zdroj.

Požiadavky na odstránenie natrvalo odstránia zadaný zdroj zo servera. Webový server, ktorý podporuje DELETE, teda zvyčajne vyžaduje formu autentifikáciu alebo autorizáciu predtým, ako budete môcť podať túto žiadosť.

Tu je postup, ako vytvoriť požiadavku DELETE s autorizačnou hlavičkou:

curl -X DELETE -H "Oprávnenie: Nositeľ môj_prístupový_token" \
 https://example.com/api/users/3

Vyššie uvedený príkaz poskytuje autentifikačné informácie v hlavičke požiadavky pomocou metódy autentifikácie nosiča s -H vlajka. Autorizácia: Nositeľ my_access_token je hodnota hlavičky. môj_prístupový_token je zástupný symbol pre vašu skutočnú hodnotu prístupového tokenu.

Iné spôsoby, ako môžete vytvárať požiadavky HTTP

Okrem curl existuje niekoľko spôsobov, ako vytvoriť požiadavky HTTP v závislosti od kontextu požiadavky. Medzi najbežnejšie metódy patrí použitie webového prehliadača, ako je Chrome, nástroja GUI, ako je Postman, alebo klienta API.

Každá z týchto možností má svoje výhody a nevýhody. V konečnom dôsledku bude výber nástroja závisieť od požiadaviek vašej úlohy.