curl

Kako uporabiti podatke o objavi cURL iz datoteke

Kako uporabiti podatke o objavi cURL iz datoteke

cURL je brezplačen in odprtokodni pripomoček za ukazno vrstico, ki se uporablja za prenos podatkov na oddaljeni gostitelj ali z njega z minimalno interakcijo uporabnika. cURL deluje s primarnimi protokoli, kot so HTTP, FTP, SCP in SFTP.

Uporabnikom omogoča nalaganje in prenos podatkov z enim ukazom ali bash skripti. Ponuja tudi funkcije, kot so avtentikacija uporabnika, tuneliranje posredniškega strežnika, življenjepis prenosov, nalaganja na obrazcih, potrdila SSL in še veliko več. Lahko rečemo, da je cURL več kot le 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 začetniški vodnik po curlu; potrebujete določeno stopnjo predhodnega znanja, zlasti poznavanje omrežnih protokolov, zahtev HTTP in še več.

Preden se lahko poglobimo v uporabo curl-a za izvajanje zahtev POST, najprej pojdimo na nastavitve.

Kako namestiti cURL

V večini primerov je privzeto v večjih distribucijah Linuxa nameščen cURL. Če želite potrditi, da imate curl, uporabite ukaz

curl --pomoč

Če se prikaže napaka:

-bash: curl: ukaza ni mogoče najti

Pred nadaljevanjem ga boste morali namestiti.

Uporabite privzeti upravitelj paketov, da dokončate namestitev, kot je prikazano v spodnjih ukazih:

posodobitev sudo apt-get
sudo apt-get namestite curl -y

Preden razpravljam o tem, kako POST podatke iz datoteke z datoteko cURL, dovolite, da na kratko spregovorim o zahtevi POST. Kot običajno, če ste s tem že seznanjeni, lahko preskočite naprej; v nasprotnem primeru se držite.

Zahteva za curl post

Zahteva za objavo HTTP je ena izmed najbolj priljubljenih metod zahteve 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 razlike.

Podatki, poslani z zahtevo POST, so v glavnem shranjeni v telesu zahteve zahteve HTTP.

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

POST / omejeno / prijava.php HTTP / 1.1 Gostitelj: linuxhint.com Content-Type: application / x-www-form-urlencoded uporabniško ime = linuxhint & password = geslo

Če želite poslati zgornjo zahtevo POST s pomočjo curl, lahko ukaze določimo kot:

curl -x POST -d “uporabniško ime = linuxhint & geslo = geslo” https: // linuxhint.com / omejeno / prijava.php

V zgornjem ukazu smo z možnostjo -d povedali cURL, da vključi privzete glave, ki je Content-Type: application / x-www-form-urlencoded

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

cURL Določite vrsto vsebine

V nekaterih primerih bomo morda želeli [izrecno] določiti vrsto vsebine pri pošiljanju zahteve. 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.do / IANA-MIME-Vrste

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

curl -X POST -d “uporabniško ime”: “linuxhint”, “geslo”: “geslo” -H “Content-Type: application / json” https: // linuxhint.com / omejeno / prijava.php

Zgornje določa, da želimo poslati objekt JSON na navedeni URL. To lahko uporabite za branje vrednosti iz datoteke JSON ali pošiljanje kot surovo.

Kako brati podatke iz datoteke

Recimo, da želite v ukazni vrstici zahtevati uporabo cURL, vendar imate podatke, ki jih želite poslati, shranjene v datoteki. Z vrsto vsebine lahko določite vrsto medija in nato posredujete pot datoteke, ki vsebuje podatke. Za ta primer bom ponazoril z uporabo predmeta JSON.

Datoteka JSON (podatki.json) vsebuje naslednje vrednosti:


"username": "linuxhint",
"password": "geslo"

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

curl -X POST -H “Content-Type: application / json” -d “@data.json ”https: // linuxhint.com / omejeno / prijava.php

Uporabite lahko tudi -data-binarno možnost.

curl -X POST -H “Content-Type: application / json” --data-binary “@ / home / user / data.json ”https: // linuxhint.com / omejeno / prijava.php

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

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

uporabniško ime = linuxhint & password = geslo

Z ukazom cURL preprosto pošljite zahtevo kot:

curl -X POST -H »Content-Type: text / plain« -d «podatki.txt ”https: // linuxhint.com / omejeno / prijava.php

Uporabite lahko druge vrste datotek, kot so XML, HTML in še veliko več.

Zaključek

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

https: // curl.se / docs /

Hvala za branje in se zabavajte s curlom.

Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...
Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...