A cURL egy ingyenes és nyílt forráskódú parancssori segédprogram, amelyet adatok átvitelére használnak távoli gazdagépre vagy onnan, minimális felhasználói beavatkozással. A cURL olyan elsődleges protokollokkal működik, mint a HTTP, FTP, SCP és SFTP.
Lehetővé teszi a felhasználók számára adatok feltöltését és letöltését egyetlen parancs vagy bash parancsfájl használatával. Ezenkívül olyan funkciókat is kínál, mint a felhasználói hitelesítés, a proxy alagút, letöltési önéletrajz, űrlap-alapú feltöltések, SSL-tanúsítványok és még sok más. Nyugodtan mondhatjuk, hogy a cURL több, mint HTTP kliens.
Ez az oktatóanyag végigvezeti Önt egy olyan CURL -funkción, amely lehetővé teszi a felhasználók számára, hogy HTTP -közzétételi kéréseket hajtsanak végre fájladatok segítségével.
Mielőtt elkezdenénk, hadd említsem meg, hogy ez nem egy kezdő útmutató a CURL -hez; bizonyos szintű előzetes know-how-ra van szüksége, különösen a hálózati protokollok, a HTTP-kérések és egyebek ismeretére.
Mielőtt belemerülnénk a CURL használatába a POST kérések végrehajtásához, először szerezzük be a beállítást.
A CURL telepítése
A legtöbb esetben a cURL alapértelmezés szerint megtalálható a főbb Linux disztribúciókban. A paranccsal ellenőrizheti, hogy rendelkezik -e cURL -rel
göndör-segíteniHa hibaüzenetet kap:
-bash: curl:parancsnem található
A folytatás előtt telepítenie kell.
A telepítés befejezéséhez használja az alapértelmezett csomagkezelőt az alábbi parancsok szerint:
sudo apt-get frissítéssudo apt-get installbecsavar-és
Mielőtt megbeszélnénk, hogyan lehet adatokat feltölteni egy fájlból a cURL segítségével, engedje meg, hogy röviden beszéljek a POST -kérésről. Szokás szerint, ha már ismeri ezt, nyugodtan ugorjon előre; különben maradj.
cURL POST kérés
A HTTP közzétételi kérés az egyik legnépszerűbb HTTP/HTTPS kérési módszer, amelyet adatküldésre használnak egy távoli gazdagéphez erőforrás létrehozásához vagy frissítéséhez.
Most :
Kérjük, ne keverje össze a módszert a PUT -val; bár nagyon hasonlóak, vannak különbségeik.
A POST -kéréssel küldött adatok főként a HTTP -kérés törzsében tárolódnak.
Tekintsük például az alábbi POST kérést, amely felhasználónevet és jelszót, valamint azok értékeit küldi.
POST/korlátozott/login.php HTTP/1.1Gazdagép: linuxhint.com Tartalomtípus: alkalmazás/x-www-form-urlencodedfelhasználónév= linuxhint&Jelszó= jelszóA fenti POST kérés cURL használatával történő elküldéséhez a következőképpen adhatjuk meg a parancsokat:
becsavar-xPOST-d felhasználónév= linuxhint&Jelszó= jelszó https://linuxhint.com/korlátozott/login.phpA fenti parancsban a -d opcióval jeleztük a cURL számára, hogy tartalmazza az alapértelmezett fejléceket, ez a Content-Type: application/x-www-form-urlencoded
Az -X opció megadja a használni kívánt HTTP kérési módszert, ebben az esetben a HTTP POST kérést.
cURL Adja meg a tartalomtípust
Bizonyos esetekben a kérés elküldésekor [kifejezetten] meg kell határoznunk a tartalomtípust. A fejlécben található Content-Type entitás határozza meg az elküldendő erőforrás médiatípusát. A hordozótípust MIME típusnak is nevezik.
Ha többet szeretne megtudni a MIME típusokról, fontolja meg az alábbi forrást:
https://linkfy.to/IANA-MIME-Types
A Content -Type megadásához egy cURL kérésben használhatjuk a -H jelzőt. Például küldjünk MIME típusú alkalmazást/JSON.
becsavar-XPOST-d {felhasználónév: linuxhint, jelszó: jelszó} -HTartalom típusa: alkalmazás/json https://linuxhint.com/korlátozott/login.phpA fentiek meghatározzák, hogy JSON objektumot akarunk küldeni a megadott URL -re. Ezzel kiolvashatja az értékeket egy JSON fájlból, vagy nyersen küldheti el.
Hogyan lehet adatokat olvasni egy fájlból
Tegyük fel, hogy a parancssorban szeretne kéréseket tenni a cURL használatával, de az elküldendő adatok fájlban vannak tárolva. A Content-Type segítségével megadhatja a média típusát, majd átadhatja az adatokat tartalmazó fájl elérési útját. Ebben a példában egy JSON objektum használatát mutatom be.
A JSON fájl (data.json) a következő értékeket tartalmazza:
{'felhasználónév':'linuxhint',
'Jelszó':'Jelszó'
}
Ha ezeket az adatokat egy JSON fájlból szeretné elküldeni, használhatjuk a -d parancsot, majd átadhatjuk a fájlnevet az alábbi parancs szerint:
becsavar-XPOST-HTartalom típusa: alkalmazás/json-d @data.json https://linuxhint.com/korlátozott/login.phpHasználhatja a –data-binary opciót is.
becsavar-XPOST-HTartalom típusa: alkalmazás/json--adat-bináris @ /itthon/felhasználó/data.json https://linuxhint.com/korlátozott/login.phpAz adatok elküldéséhez szöveges fájlt is használhat; Mindössze annyit kell megadnia, hogy a Content-Type szöveg/sima formátumban.
Például egy szöveges fájl (data.txt), amely a következő értékeket tartalmazza
felhasználónév= linuxhint&Jelszó= jelszóA cURL paranccsal egyszerűen küldje el a kérést a következőképpen:
becsavar-XPOST-HTartalom típusa: szöveg/egyszerű-ddata.txt https://linuxhint.com/korlátozott/login.phpHasználhat más fájltípusokat is, például XML -t, HTML -t és még sok mást.
Következtetés
Ebben az oktatóanyagban megbeszéltük, hogyan lehet POST -kéréseket készíteni és adatokat továbbítani különböző formátumokban. Jó szem előtt tartani, hogy amellett, hogy nagyon erős, a CURL nagyon rugalmas is. Lehetőségek gyűjteményét egyetlen parancsba kombinálva hatékony kéréseket hozhat létre. További információért ajánlom a cURL dokumentációt, mivel jól meg van írva.
Köszönjük, hogy elolvasta, és jó szórakozást a CURL -hez.