Kaip naudoti „cURL Post“ duomenis iš failo

How Use Curl Post Data From File



„CURL“ yra nemokama ir atviro kodo komandų eilutės priemonė, naudojama duomenims perkelti į nuotolinį kompiuterį arba iš jo su minimalia vartotojo sąveika. „cURL“ veikia su pagrindiniais protokolais, tokiais kaip HTTP, FTP, SCP ir SFTP.

Tai leidžia vartotojams įkelti ir atsisiųsti duomenis naudojant atskiras komandas arba „bash“ scenarijus. Jame taip pat yra tokių funkcijų kaip vartotojo autentifikavimas, tarpinio serverio tuneliavimas, atsisiuntimo atnaujinimas, formos įkėlimas, SSL sertifikatai ir dar daugiau. Galima sakyti, kad cURL yra daugiau nei HTTP klientas.







Ši pamoka supažindins jus su viena CURL funkcija, kuri leidžia vartotojams atlikti HTTP įrašų užklausas naudojant failo duomenis.



Prieš pradėdami, leiskite paminėti, kad tai nėra pradedančiųjų vadovas, kaip išgydyti; jums reikia tam tikros išankstinės patirties, ypač žinių apie tinklo protokolus, HTTP užklausas ir dar daugiau.



Kad galėtume pasinerti į cURL naudojimą POST užklausoms vykdyti, pirmiausia nustatykime.





Kaip įdiegti cURL

Daugeliu atvejų cURL bus įdiegtas pagrindiniuose „Linux“ platinimuose pagal numatytuosius nustatymus. Norėdami patvirtinti, kad turite CURL, naudokite komandą

garbanė-pagalba

Jei gaunate klaidą:



-bash: curl:komandąnerastas

Prieš tęsdami turėsite jį įdiegti.

Naudokite numatytąją paketų tvarkyklę, kad užbaigtumėte diegimą, kaip parodyta toliau pateiktose komandose:

sudo apt-get atnaujinimas

sudo apt-get installgarbanoti-ir

Prieš aptardamas, kaip POST duomenis iš failo su cURL, leiskite trumpai papasakoti apie POST užklausą. Kaip įprasta, jei tai jau esate susipažinęs, galite drąsiai praleisti į priekį; kitu atveju laikykis.

„CURL POST“ užklausa

HTTP įrašo užklausa yra vienas iš populiariausių HTTP/HTTPS užklausų metodų, naudojamų duomenims siųsti į nuotolinį kompiuterį, kad būtų sukurtas arba atnaujintas išteklius.

Dabar :

Nepainiokite metodo su PUT; nors jie yra gana panašūs, jie turi skirtumų.

Duomenys, siunčiami naudojant POST užklausą, daugiausia saugomi HTTP užklausos užklausos tekste.

Pavyzdžiui, apsvarstykite žemiau pateiktą POST užklausą, siunčiančią vartotojo vardą ir slaptažodį bei jų reikšmes.

POST/apribotas/login.php HTTP/1.1Priegloba: linuxhint.com Turinio tipas: programa/x-www-form-urlencodedVartotojo vardas= linuxhint&Slaptažodis= slaptažodis

Norėdami išsiųsti aukščiau pateiktą POST užklausą naudodami cURL, galime nurodyti komandas kaip:

garbanoti-xPOST-d Vartotojo vardas= linuxhint&Slaptažodis= slaptažodis https://linuxhint.com/apribotas/login.php

Aukščiau pateiktoje komandoje mes naudojome parinktį -d, kad nurodytume cURL įtraukti numatytasis antraštes, kurios yra turinio tipas: application/x-www-form-urlencoded

Parinktis -X nurodo HTTP užklausos metodą, kurį reikia naudoti, šiuo atveju HTTP POST užklausą.

cURL Nurodykite turinio tipą

Kai kuriais atvejais siunčiant užklausą galime [aiškiai] nurodyti turinio tipą. Antraštėje esantis turinio tipo objektas nurodo siunčiamo ištekliaus laikmenos tipą. Medijos tipas taip pat žinomas kaip MIME tipas.

Jei norite sužinoti apie MIME tipus, apsvarstykite toliau pateiktą šaltinį:

https://linkfy.to/IANA-MIME-Types

Norėdami nurodyti turinio tipą cURL užklausoje, galime naudoti vėliavą -H. Pavyzdžiui, atsiųskime programos MIME tipą/JSON.

garbanoti-XPOST-d {vartotojo vardas: linuxhint, slaptažodis: slaptažodis} -HTurinio tipas: programa/json https://linuxhint.com/apribotas/login.php

Aukščiau nurodyta, kad norime siųsti JSON objektą į pateiktą URL. Tai galite naudoti norėdami nuskaityti vertes iš JSON failo arba nusiųsti jį kaip neapdorotą.

Kaip skaityti duomenis iš failo

Tarkime, kad norite pateikti užklausas komandinėje eilutėje naudodami cURL, bet turite siųsti duomenis, saugomus faile. Turinio tipą galite naudoti norėdami nurodyti laikmenos tipą ir perduoti failo kelią, kuriame yra duomenys. Šiame pavyzdyje iliustruosiu JSON objekto naudojimą.

JSON faile (data.json) yra šios reikšmės:

{
'Vartotojo vardas':'linuxhint',
'Slaptažodis':'Slaptažodis'
}

Norėdami siųsti šiuos duomenis iš JSON failo, galime naudoti -d ir perduoti failo pavadinimą, kaip parodyta žemiau esančioje komandoje:

garbanoti-XPOST-HTurinio tipas: programa/json-d @data.json https://linuxhint.com/apribotas/login.php

Taip pat galite naudoti parinktį –data-dvejetainė.

garbanoti-XPOST-HTurinio tipas: programa/json--dvejetainiai duomenys @ /namai/Vartotojas/data.json https://linuxhint.com/apribotas/login.php

Taip pat galite naudoti tekstinį failą duomenims siųsti; viskas, ką jums reikia nurodyti, yra turinio tipas kaip tekstas/paprastas.

Pavyzdžiui, teksto failas (data.txt), kuriame yra šios reikšmės

Vartotojo vardas= linuxhint&Slaptažodis= slaptažodis

Naudodami komandą cURL, tiesiog nusiųskite užklausą kaip:

garbanoti-XPOST-HTurinio tipas: tekstas/paprastas-ddata.txt https://linuxhint.com/apribotas/login.php

Galite naudoti kitų tipų failus, pvz., XML, HTML ir daugelį kitų.

Išvada

Šioje pamokoje aptarėme, kaip pateikti POST užklausas ir perduoti duomenis įvairiais formatais. Verta nepamiršti, kad CURL yra ne tik labai galingas, bet ir labai lankstus. Jis gali sujungti parinkčių rinkinį į vieną komandą, kad sukurtų galingas užklausas. Norėdami gauti daugiau informacijos, rekomenduoju CURL dokumentus, nes jie yra gerai parašyti.

https://curl.se/docs/

Dėkojame, kad skaitote, ir linksminkitės su CURL.