Hogyan kell használni a cURL bejegyzésadatokat a fájlból

How Use Curl Post Data From File



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íteni

Ha 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és

sudo 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.php

A 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.php

A 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.php

Haszná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.php

Az 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.php

Haszná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.

https://curl.se/docs/

Köszönjük, hogy elolvasta, és jó szórakozást a CURL -hez.