A curl parancssori eszköz tökéletes asszisztens, ha HTTP-kóddal dolgozik. Tesztelje a kéréseket, fedezze fel az adatformátumokat és így tovább!
A Hypertext Transfer Protocol (HTTP) az interneten keresztüli kommunikáció gerince, amely lehetővé teszi az adatok átvitelét a szerverek és a kliensek között. A HTTP-végpontokkal való interakció azonban kihívást jelenthet, különösen a kezdők számára.
Szerencsére a curl, egy parancssori eszköz egyszerű és hatékony módot biztosít HTTP-kérések küldésére és fogadására. Itt megtudhatja, hogyan használhatja a curl-t az alapvető POST, GET, DELETE és PUT HTTP kérések létrehozásához.
A göndör telepítése
Alapértelmezés szerint a curl a fő operációs rendszerekre telepítve van, beleértve a macOS-t, a Linuxot és a Unixot.
A curl telepítését az alábbi parancs futtatásával ellenőrizheti:
becsavar
A fenti parancsnak ki kell írnia a „try 'curl --help' vagy 'curl --manual' további információért” szöveget a termináljára.
Ha a curl nincs telepítve az operációs rendszerére, letöltheti és telepítheti a webhelyről a curl letöltési oldalon.
HTTP GET-kérés készítése
A HTTP GET kérés egy módszer az adatok lekérésére egy webszerver. Ezeket a kéréseket egy adott erőforrás, például weboldal, kép vagy videó lekérésére használhatja.
GET kérelmet nyújthat be curl-el az alábbi formátumban:
curl -X GET
Cserélje ki a lekérni kívánt erőforrás URL-jével.
Például:
curl -X GET https://example.com/todos/1
A fenti parancs futtatása HTTP GET kérést küld az URL-hez https://example.com/todos/1. A -X GET Az opció megadja, hogy a HTTP metódus a GET. Amikor a parancs fut, a curl GET kérést küld az URL-ben megadott kiszolgálónak, és várja a kiszolgáló válaszát.
Ha a szerver ezzel válaszol sikeres állapotkód, becsavar megjeleníti a válasz törzsét a terminálban, amely ebben az esetben egy 1-es azonosítójú teendő JSON-adatai lennének.
Alternatív megoldásként megadhat GET-kérést anélkül, hogy megadná a -X jelölje be, mert alapértelmezés szerint a curl GET kérést küld, ha nem ad meg kérési metódust a -X zászló.
Például:
becsavar https://example.com/todos/1
A fenti parancs futtatása ugyanazt a választ adja vissza, mint az előző parancs a "-X GET” zászlót.
HTTP POST kérés készítése
A HTTP POST kérés egy módszer az adatok webszerverre való mentésére. Ellentétben a GET-kéréssel, amely az URL részeként küld adatokat, a POST-kérés a kérés üzenettörzsében küld adatokat. Ez biztonságosabbá teszi a POST kéréseket az érzékeny információk továbbításához.
Az alábbi formátumban küldhet POST kérést curl-el:
göndör -X POST -d
Például:
curl -X POST -d 'name=jack' -d '[email protected]' \
https://example.com/users
A fenti parancs POST kérést küld a címre https://example.com/users által meghatározott adatokkal -d zászlót rakományként.
A -d zászló határozza meg az elküldendő adatokat. Ebben az esetben két adatparamétert adott meg: név=bukó és [email protected].
Amikor használja a -d jelölje meg többször egy parancsban, a mezőket a & szimbólum használatával egyesítheti.
Például:
curl -d "name=jack&[email protected]" https://example.com/api/users
Előfordulhat, hogy egyes adatokat, amelyeket megpróbál elküldeni egy POST-kérésben, nehéz a terminál egyetlen karakterláncába illeszteni. Ilyen esetekben ideális lehet egy fájlból a curl használatával beolvasni és POST-olni az adatokat.
Ha adatokat szeretne küldeni egy fájlból egy POST-kérésben curl-el ellátott rakományként, használja a @ után azonnal aláírja -d jelölőnégyzetet, majd annak a fájlnak az elérési útját, amelyet a curl-el küldeni szeretne a kérelemben.
Például:
curl -X POST -d @users.txt https://example.com/api/users
A tartalomtípus megadása
Használni a -d jelző automatikusan beállítja a Content-Type fejlécet application/x-www-form-urlencoded. Mindazonáltal manuálisan megadhatja a kéréséhez megfelelő tartalomtípust a segítségével -H vagy --fejléc zászlót, majd a kívánt tartalomtípust.
Például:
curl -H "Tartalom típusa: alkalmazás/json" \
-d '{"név": "Jack", "e-mail": "[email protected]"}' \
https://example.com/api/users
A fenti parancsban a -H flag a Content-Type fejlécet a következőképpen adja meg Tartalom típusa: Application/json.
Cserélheted alkalmazás/json bármely más érvényes MIME-típussal vagy tartalomtípussal, amely megfelel az Ön által a kérés törzsében küldött adatoknak. Például bináris adatok, például kép vagy hangfájl feltöltésekor a Content-Type értéket állítsa többrészes/forma-adatok.
Ez lehetővé teszi az elküldött adatok várható formátumának megadását, ami fontos lehet olyan API-kkal vagy webszolgáltatásokkal való interakció során, amelyek megfelelő feldolgozáshoz meghatározott tartalomtípusokat igényelnek.
HTTP PUT-kérés készítése
A HTTP PUT-kérés egy meglévő erőforrás frissítésére szolgáló módszer a webszerveren, vagy létrehozhat egyet, ha az erőforrás nem létezik. Ez a módszer abban különbözik a POST módszertől, hogy idempotens. Ez azt jelenti, hogy a PUT metódus egyszeri vagy többszöri egymás utáni meghívása ugyanolyan hatással van a szerverre.
Az alábbi formátumban küldhet PUT kérést curl-el:
curl -X PUT -H "Tartalomtípus: Application/json" \
-d '{"név": "Jack Bauer", "e-mail": "[email protected]"}' \
https://example.com/api/users/4
A fenti parancs egy PUT kérést küld JSON formátumban a fenti URL-ben megadott webszervernek, és frissíti a megadott erőforrást. Ha a megadott erőforrás nem létezik, akkor létrehozza az erőforrást a webszerveren.
HTTP TÖRLÉS kérése
A HTTP DELETE kérés egy adott erőforrás webszerverről való törlésének módszere. A PUT kérésekhez hasonlóan a DELETE kérések is idempotensek. Ugyanazon DELETE kérés többszöri elküldése ugyanahhoz az erőforráshoz ugyanazt az eredményt fogja eredményezni a kiszolgálón.
A curl segítségével TÖRLÉS kérelmet küldhet az alábbi parancs futtatásával:
curl -X TÖRLÉS http://example.com/api/users/3
A fenti parancs DELETE kérést küld a fenti URL-ben megadott webszervernek, és törli a megadott erőforrást.
A törlési kérelmek véglegesen eltávolítják a megadott erőforrást a szerverről. Így a DELETE-t támogató webszervernek általában szüksége van egy formára hitelesítés vagy engedélyezés mielőtt ezt a kérést benyújthatná.
A következőképpen küldhet TÖRLÉS kérelmet engedélyezési fejléccel:
curl -X TÖRLÉS -H "Engedélyezés: Bearer my_access_token" \
https://example.com/api/users/3
A fenti parancs megadja a hitelesítési információkat a kérelem fejlécében a Bearer hitelesítési módszerrel a -H zászló. Engedélyezés: Bearer my_access_token a fejléc értéke. my_access_token a tényleges hozzáférési jogkivonat értékének helyőrzője.
Más módok HTTP-kérésekre
A curl mellett a kérés kontextusától függően többféle módon is lehet HTTP-kéréseket küldeni. A leggyakoribb módszerek közé tartozik a webböngésző, például a Chrome, a grafikus felhasználói felület (például a Postman) vagy az API-kliens használata.
Mindegyik opciónak megvannak a maga előnyei és kompromisszumai. Végső soron az eszköz kiválasztása a feladat követelményeitől függ.