![]()
HTTPie egy HTTP kliens a terminálodhoz. Modern alternatívája a curlA HTTPie egyszerű szintaxist és automatikusan formázott kimenetet kínál egyszerűsítve az API-kkal való interakciót.
Elérhető Windows, Mac és Linux rendszereken, beállítást kapok egyenes ügynek kell lennie. A legtöbb Linux disztribúció mostantól tartalmazza a HTTPie-t a csomagtáraiban, így gyorsan apt, dnf vagy pacman kezdeni. Ez elérhető a Mac-felhasználók számára a Homebrew-n keresztül, valamint Python-csomagként, amelyet mind a három platformon Pip-en szállítanak (pip install httpie).
A telepítés után a HTTPie regisztrálja a http és https parancsokat a héjában. Most már egyszerű és kifejező módon hívhatja meg az API végpontokat anélkül, hogy elhagyná a terminált!
Alapparancsok
A legegyszerűbb, hogy a HTTPie-nek át lehet adni egy URL-t, amely azonnal a GET kérés:
http example.com
Adatok küldéséhez adja meg a megfelelő HTTP igét, majd adja át a kulcs / érték párokat további parancssori paraméterként:
http POST example.com foo=bar hello=world
Alapértelmezés szerint az adatokat JSON formátumban küldik a megfelelő kérés fejlécekkel. Ha űrlapként szeretné elküldeni, adja át a -f paraméter.
A JSON-szintaxis használatakor vegye figyelembe, hogy az összes mezőt általában karakterláncként küldik el. Használhatja a := szintaxis helyett = nyers adat módra váltáshoz. Egy paraméter examples:='[1, 2]' ezután a examples a kulcs két egész tömbre van állítva.
Fejlécek és sütik
A kérés fejlécének beállításához adja meg a fejléc nevét és értékét kettősponttal elválasztott karakterláncként:
http GET example.com Authorization:foobar
A HTTPie beállít néhány fejlécet, például User-Agent, alapértelmezés szerint. Ezeket úgy lehet eltávolítani, hogy kifejezetten megadjuk őket üres értékkel.
A cookie-kat úgy állítják be, hogy egy karakterláncot definiálnak a sütikkel kettőspont által elválasztott értékként:
http GET example.com "Cookie:foo=bar;hello=world"
Ez valójában csak a Cookie fejléc, így küldik a cookie-kat a HTTP-n keresztül.
Munka a fájlokkal
Fájlokat feltölthet és letölthet a szokásos shell-átirányításokkal:
http POST example.com/upload < ~/example.pdf http GET example.com/download.pdf > ~/download.pdf
A speciális segítségével fájlokat is feltölthet egy HTTP-űrlap elküldés részeként @ szintaxis:
http -f POST example.com/form-with-file hello="Hello World" myUpload@~/example.pdf
Ez ugyanúgy fog működni, mint egy HTML fájl bemenete a name="myUpload". Ehelyett betölthet adatokat egy fájlból, és beágyazhatja a kérésbe a =@ szintaxis helyett @.
Munkamenetek
A HTTPie beépített támogatást nyújt a tartós munkamenetekhez. Ezek lehetővé teszik a kérelem-összetevők, például a HTTP-fejlécek és a cookie-k újrafelhasználását az ugyanazon gazdagép felé küldött kérések között.
A munkameneteket a --session paraméter. Értékként adja meg az új munkamenet tárolására használt fájl elérési útját.
http --session=./my-session.json GET example.com Authorization:foobar
A munkamenetek által támogatott adatok, például a Authorization A fenti kérés fejlécét a fájl menti. Későbbi kérések esetén most elhagyhatja a Authorization fejléc – automatikusan bekerül a munkamenetben megadottak szerint.
A munkamenetfájl megadása helyett használhat egyszerű nevet is (--session=example). Ebben az esetben a HTTPie automatikusan elmenti a munkamenetet egy belső kezelésű fájlba. Minden munkamenet ahhoz a gazdagéphez van kötve, ahonnan származik, tehát http --session=example example1.com és http --session=example example2.com egymástól függetlenül léteznek.
Kimenet kezelése
A HTTPie egyik jelentős fejlesztése az olyan segédprogramokkal szemben, mint a curl a válaszok automatikus formázása. A JSON törzsek különösen jól kezelhetőek, megfelelő behúzással, az objektumok ábécé szerinti rendezésével kulcsaik alapján, valamint az Unicode karakterek helyes konvertálásával.
Testreszabhatja a kimenet megjelenítésének módját néhány különböző lehetőség segítségével. A --pretty zászló beállítható --all (alapértelmezett), --colors (csak színek), --format (csak formázás) vagy --none (az összes kimeneti feldolgozás letiltásához és a nyers adatok megtekintéséhez).
![]()
Ezenkívül megváltoztathatja a színvilágot a --style zászló. A rendelkezésre álló rendszerek: auto (az alapértelmezett), default (használja a mögöttes Pygments könyvtárstílusokat), fruity és a népszerű monokai.
A kimenet fájlba történő átirányításakor nem kell aggódnia az alapértelmezett formázás miatt. A HTTPie felismeri, hogy átirányításra kerül, és egyszerűen formázás nélkül továbbítja a nyers adatokat. Ez azt is jelenti, hogy a bináris válaszok, amelyeket általában soha nem bocsátanak ki a terminálra, beilleszthetők fájlokba.
Konfigurációs fájl
A HTTPie támogatja az alapvető konfigurációs fájlokat, amelyek felhasználhatók az alapértelmezett beállítások megadására. Ezeket az összes Ön által benyújtott kérelemre alkalmazzuk. A fájlt a következő helyre kell menteni: ~/.config/httpie/config.json Linux / Mac és %APPDATA%httpieconfig.json Windows rendszeren.
Egyetlen konfigurációs kulcs támogatott, default_options, amely elfogadja az alapvető paramétertömböt a végrehajtandó HTTPie parancsokhoz:
{
"default_options": [
"Authorization:foobar",
"--pretty=none",
"--style=monokai"
]
}
Bármely opció, amelyet a HTTPie parancssori felülete támogat, felvehető. Az alapértelmezett beállításokat felülírhatja úgy, hogy a HTTPie futtatásakor minden alkalommal új értékkel definiálja azokat.
Következtetés
HTTPie egy funkciókkal teli eszköz, amely HTTP API-kat hoz a terminálodhoz. Ez egy modern alternatíva a Unix kapcsokhoz curl amelyet fejlesztők és tesztelők rendszeresen használnak. Bár a szintaxis időnként nehézkes lehet, általában kifejező és emlékezetes.
Érdemes időt szánni a hivatalos dokumentáció ha többet szeretne megtudni a HTTPie-ről. Minden fejlődés a szabadban történik GitHub, a nyújtott támogatással Gitter és StackOverflow.
