Kako uporabljati cURL objavo podatkov iz datoteke

How Use Curl Post Data From File



cURL je brezplačen in odprtokodni pripomoček ukazne vrstice, ki se uporablja za prenos podatkov na ali z oddaljenega gostitelja z minimalno interakcijo z uporabnikom. cURL deluje s primarnimi protokoli, kot so HTTP, FTP, SCP in SFTP.

Uporabnikom omogoča nalaganje in nalaganje podatkov z uporabo posameznih ukazov ali bash skriptov. Ponuja tudi funkcije, kot so preverjanje pristnosti uporabnika, predvajanje proxyja, nadaljevanje prenosov, nalaganje na obrazcih, potrdila SSL in še veliko več. Lahko rečemo, da je cURL več kot odjemalec HTTP.







Ta vadnica vas bo vodila skozi eno funkcijo cURL, ki uporabnikom omogoča izvajanje zahtev po objavah HTTP z uporabo datotek.



Preden začnemo, naj omenim, da to ni vodnik za cURL za začetnike; potrebujete stopnjo predhodnega znanja, zlasti poznavanje omrežnih protokolov, zahtev HTTP in še več.



Preden se lahko lotimo uporabe cURL za izvajanje zahtev POST, najprej nastavimo.





Kako namestiti cURL

V večini primerov boste privzeto našli cURL v večjih distribucijah Linuxa. Če želite potrditi, da imate cURL, uporabite ukaz

curl –- pomoč

Če se prikaže napaka:



-bash: curl:ukazni najdeno

Preden nadaljujete, ga boste morali namestiti.

Za dokončanje namestitve uporabite privzeti upravitelj paketov, kot je prikazano v spodnjih ukazih:

sudo apt-get posodobitev

sudo apt-get installcurl-in

Preden se pogovorim o tem, kako POST podatke iz datoteke s cURL, naj na kratko spregovorim o zahtevi POST. Kot običajno, če ste s tem že seznanjeni, lahko preskočite naprej; sicer pa se drži.

cURL POST Zahteva

Zahteva za objavo HTTP je ena izmed najbolj priljubljenih metod zahtev HTTP/HTTPS, ki se uporablja za pošiljanje podatkov oddaljenemu gostitelju za ustvarjanje ali posodobitev vira.

Zdaj :

Ne zamenjujte metode s PUT; čeprav so si precej podobni, imajo svoje razlike.

Podatki, poslani z zahtevo POST, so večinoma shranjeni v telesu zahteve zahteve HTTP.

Na primer, upoštevajte spodnjo zahtevo POST, ki pošilja uporabniško ime in geslo ter njihove vrednosti.

POST/omejeno/login.php HTTP/1.1Gostitelj: linuxhint.com Vrsta vsebine: aplikacija/x-www-form-urlencodeduporabniško ime= linuxhint&geslo= geslo

Za pošiljanje zgornje zahteve POST z uporabo cURL lahko ukaze določimo kot:

curl-xPOST-d uporabniško ime= linuxhint&geslo= geslo https://linuxhint.com/omejeno/login.php

V zgornjem ukazu smo z možnostjo -d povedali cURL-u, naj vključuje privzete glave, ki so Content-Type: application/x-www-form-urlencoded

Možnost -X določa način zahteve HTTP, v tem primeru zahtevo HTTP POST.

cURL Določite vrsto vsebine

V nekaterih primerih bomo morda želeli pri pošiljanju zahteve določiti [eksplicitno] vrsto vsebine. Entiteta Content-Type v glavi določa vrsto medija vira, ki ga pošiljamo. Vrsta medija je splošno znana tudi kot vrsta MIME.

Če želite izvedeti več o vrstah MIME, si oglejte spodnji vir:

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

Za določitev vrste vsebine v zahtevi cURL lahko uporabimo zastavico -H. Pošljimo na primer vrsto aplikacije MIME/JSON.

curl-XPOST-d {uporabniško ime: linuxhint, geslo: geslo} -HVrsta vsebine: aplikacija/json https://linuxhint.com/omejeno/login.php

Zgornje določa, da želimo na podani URL poslati predmet JSON. S tem lahko preberete vrednosti iz datoteke JSON ali jih pošljete kot surove.

Kako prebrati podatke iz datoteke

Recimo, da želite v ukazni vrstici vnesti zahteve s pomočjo cURL, vendar imate podatke za pošiljanje shranjene v datoteki. Z vrsto vsebine lahko določite vrsto medija in nato posredujete pot do datoteke, ki vsebuje podatke. V tem primeru bom ponazoril z uporabo predmeta JSON.

Datoteka JSON (data.json) vsebuje naslednje vrednosti:

{
'uporabniško ime':'linuxhint',
'geslo':'geslo'
}

Za pošiljanje teh podatkov iz datoteke JSON lahko uporabimo -d in nato posredujemo ime datoteke, kot je prikazano v spodnjem ukazu:

curl-XPOST-HVrsta vsebine: aplikacija/json-d @data.json https://linuxhint.com/omejeno/login.php

Uporabite lahko tudi –data-binary možnost.

curl-XPOST-HVrsta vsebine: aplikacija/json--data-binary @ /doma/uporabnik/data.json https://linuxhint.com/omejeno/login.php

Za pošiljanje podatkov lahko uporabite tudi besedilno datoteko; vse kar morate določiti je Content-Type kot besedilo/navadno.

Na primer besedilna datoteka (data.txt), ki vsebuje naslednje vrednosti

uporabniško ime= linuxhint&geslo= geslo

Z ukazom cURL preprosto pošljite zahtevo kot:

curl-XPOST-HVrsta vsebine: besedilo/navaden-ddata.txt https://linuxhint.com/omejeno/login.php

Uporabite lahko druge vrste datotek, kot so XML, HTML in mnoge druge.

Zaključek

V tej vadnici smo razpravljali o tem, kako pošiljati zahteve POST in posredovati podatke v različnih oblikah. Dobro je upoštevati, da je cURL poleg tega, da je zelo močan, tudi zelo prilagodljiv. Lahko združi zbirko možnosti v enem samem ukazu za ustvarjanje močnih zahtev. Za več informacij priporočam dokumentacijo cURL, saj je dobro napisana.

https://curl.se/docs/

Hvala za branje in uživajte v cURL -u.