Nástroj příkazového řádku curl je dokonalým pomocníkem při práci s kódem HTTP. Otestujte požadavky, prozkoumejte datové formáty a další!

Hypertext Transfer Protocol (HTTP) je páteří komunikace přes internet, která umožňuje přenos dat mezi servery a klienty. Interakce s koncovými body HTTP však může být náročná, zejména pro začátečníky.

Naštěstí curl, nástroj příkazového řádku, poskytuje snadný a efektivní způsob odesílání a přijímání požadavků HTTP. Zde se dozvíte, jak používat curl k vytváření základních požadavků HTTP POST, GET, DELETE a PUT.

Instalace curl

Ve výchozím nastavení je curl nainstalován na hlavních operačních systémech včetně macOS, Linux a Unix.

Můžete potvrdit, že máte curl nainstalovaný spuštěním příkazu níže:

kučera

Výše uvedený příkaz by měl na vašem terminálu vypsat „zkuste 'curl --help' nebo 'curl --manual' pro více informací.

Pokud curl ve vašem operačním systému není nainstalován, můžete si jej stáhnout a nainstalovat z stránka stahování curl.

Vytvoření požadavku HTTP GET

Požadavek HTTP GET je metoda pro vyžádání dat z webový server. Tyto požadavky můžete použít k načtení konkrétního zdroje, jako je webová stránka, obrázek nebo video.

Můžete zadat požadavek GET s curl ve formátu níže:

curl -X GET 

Nahradit s adresou URL zdroje, který chcete načíst.

Například:

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

Spuštěním výše uvedeného příkazu se vytvoří požadavek HTTP GET na adresu URL https://example.com/todos/1. The -X GET volba určuje, že metoda HTTP je GET. Když se příkaz spustí, curl odešle požadavek GET na server zadaný v URL a čeká na odpověď serveru.

Pokud server odpoví s úspěšný stavový kód, kučera zobrazí tělo odpovědi v terminálu, což by v tomto případě byla data JSON o položce úkolu s ID 1.

Alternativně můžete zadat požadavek GET bez zadání -X příznak, protože ve výchozím nastavení curl vytváří požadavek GET, když nezadáte metodu požadavku pomocí -X vlajka.

Například:

kučera https://example.com/todos/1

Spuštění výše uvedeného příkazu vrátí stejnou odpověď jako předchozí příkaz s „-X GET“vlajka.

Vytvoření požadavku HTTP POST

Požadavek HTTP POST je metoda pro ukládání dat na webový server. Na rozdíl od požadavku GET, který odesílá data jako součást adresy URL, požadavek POST odesílá data v těle zprávy požadavku. Díky tomu jsou požadavky POST bezpečnější pro přenos citlivých informací.

Můžete zadat požadavek POST s curl ve formátu níže:

zvlnění -X POST -d 

Například:

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

Výše uvedený příkaz odešle požadavek POST na https://example.com/users s údaji uvedenými v -d příznak jako náklad.

The -d příznak určuje data k odeslání. V tomto případě zadal dva parametry dat: jméno=jack a [email protected].

Když použijete -d příznak více než jednou v příkazu, můžete pole sloučit pomocí symbolu &.

Například:

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

Některá data, která se můžete pokusit odeslat v požadavku POST, může být obtížné vměstnat do jednoho řetězce ve vašem terminálu. V případech, jako je tento, může být ideální číst a POST data ze souboru pomocí curl.

Chcete-li odeslat data ze souboru v požadavku POST jako datovou část s curl, použijte @ podepsat ihned po -d příznak, za kterým následuje cesta k souboru, který má curl poslat v požadavku.

Například:

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

Určení typu obsahu

Za použití -d flag automaticky nastaví záhlaví Content-Type na application/x-www-form-urlencoded. Můžete však ručně zadat vhodný typ obsahu pro váš požadavek pomocí -H nebo --hlavička příznak následovaný požadovaným typem obsahu.

Například:

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

Ve výše uvedeném příkazu je -H příznak určuje hlavičku Content-Type jako Content-Type: application/json.

Můžete vyměnit aplikace/json s jakýmkoli jiným platným typem MIME nebo typem obsahu, který je vhodný pro data, která odesíláte v těle požadavku. Například při nahrávání binárních dat, jako je obrázek nebo zvukový soubor, byste měli nastavit Content-Type na multipart/form-data.

To vám umožní určit očekávaný formát odesílaných dat, což může být důležité při interakci s rozhraními API nebo webovými službami vyžadujícími pro správné zpracování specifické typy obsahu.

Vytvoření požadavku HTTP PUT

Požadavek HTTP PUT je metoda aktualizace existujícího zdroje na webovém serveru nebo jeho vytvoření, pokud zdroj neexistuje. Tato metoda se liší od metody POST v tom smyslu, že je idempotentní. To znamená, že volání metody PUT jednou nebo vícekrát za sebou má na server stejný účinek.

Můžete zadat požadavek PUT s curl ve formátu níže:

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

Výše uvedený příkaz odešle požadavek PUT ve formátu JSON na webový server uvedený ve výše uvedené adrese URL a aktualizuje zadaný zdroj. Pokud zadaný prostředek neexistuje, vytvoří se prostředek na webovém serveru.

Vytvoření požadavku HTTP DELETE

Požadavek HTTP DELETE je metoda pro odstranění zadaného zdroje z webového serveru. Podobně jako požadavky PUT jsou požadavky DELETE idempotentní. Odeslání stejného požadavku DELETE vícekrát do stejného zdroje povede ke stejnému výsledku na serveru.

Požadavek DELETE s curl můžete provést spuštěním příkazu níže:

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

Výše uvedený příkaz odešle požadavek DELETE na webový server zadaný ve výše uvedené adrese URL a odstraní zadaný zdroj.

Požadavky na odstranění trvale odstraní zadaný prostředek ze serveru. Webový server, který podporuje DELETE, tedy obvykle vyžaduje formu autentizace nebo autorizace než budete moci podat tento požadavek.

Zde je návod, jak vytvořit požadavek DELETE s autorizační hlavičkou:

curl -X DELETE -H "Oprávnění: Nositel můj_přístupový_token" \
 https://example.com/api/users/3

Výše uvedený příkaz poskytuje ověřovací informace v hlavičce požadavku pomocí metody autentizace nosiče s -H vlajka. Autorizace: Nositel my_access_token je hodnota záhlaví. můj_přístupový_token je zástupný symbol pro vaši skutečnou hodnotu přístupového tokenu.

Další způsoby, jak můžete vytvářet požadavky HTTP

Kromě curl existuje několik způsobů, jak vytvořit požadavky HTTP v závislosti na kontextu požadavku. Mezi nejběžnější metody patří použití webového prohlížeče, jako je Chrome, nástroje GUI, jako je Postman, nebo klienta API.

Každá z těchto možností má své výhody a nevýhody. V konečném důsledku bude váš výběr nástroje záviset na požadavcích vašeho úkolu.