kovrča

Kako koristiti cURL podatke iz datoteke

Kako koristiti cURL podatke iz datoteke

cURL je besplatni uslužni program naredbenog retka otvorenog koda koji se koristi za prijenos podataka na ili s udaljenog hosta uz minimalnu interakciju korisnika. cURL radi s primarnim protokolima kao što su HTTP, FTP, SCP i SFTP.

Omogućuje korisnicima prijenos i preuzimanje podataka pomoću pojedinačnih naredbi ili bash skripti. Također pruža značajke kao što su provjera autentičnosti korisnika, tuneliranje proxyja, životopis preuzimanja, prijenosi temeljeni na obrascima, SSL certifikati i još mnogo toga. Sigurno je reći da je cURL više od HTTP klijenta.

Ovaj vodič vodit će vas kroz jednu funkciju curL koja korisnicima omogućuje izvršavanje HTTP zahtjeva za postom koristeći podatke o datotekama.

Prije nego što započnemo, spomenut ću da ovo nije početnički vodič za curL; potreban vam je stupanj prethodne stručnosti, posebno znanje mrežnih protokola, HTTP zahtjeva i još mnogo toga.

Prije nego što krenemo u upotrebu curl-a za izvršavanje POST zahtjeva, prvo napravimo postavke.

Kako instalirati curl

U većini slučajeva zadani će vam biti cURL instaliran u glavnim Linux distribucijama. Da biste potvrdili da imate curl, upotrijebite naredbu

uvojiti se - pomoć

Ako dobijete pogrešku:

-bash: curl: naredba nije pronađena

Morat ćete ga instalirati prije nastavka.

Upotrijebite zadani upravitelj paketa da biste dovršili instalaciju kao što je prikazano u naredbama u nastavku:

sudo apt-get ažuriranje
sudo apt-get instalirati curl -y

Prije rasprave o tome kako POSTATI podatke iz datoteke s cURL-om, dopustite mi da ukratko razgovaram o POST zahtjevu. Kao i obično, ako vam je ovo već poznato, možete slobodno preskočiti; inače se držite.

Zahtjev za curL POST

Zahtjev za HTTP postom jedna je od najpopularnijih metoda zahtjeva za HTTP / HTTPS koja se koristi za slanje podataka udaljenom hostu radi stvaranja ili ažuriranja resursa.

Sada:

Molimo nemojte brkati metodu s PUT-om; iako su prilično slični, oni imaju svoje razlike.

Podaci poslani pomoću POST zahtjeva uglavnom se pohranjuju u tijelu zahtjeva HTTP zahtjeva.

Na primjer, razmotrite donji POST zahtjev koji šalje korisničko ime i lozinku, kao i njihove vrijednosti.

POST / ograničeno / prijava.php HTTP / 1.1 Domaćin: linuxhint.com Content-Type: application / x-www-form-urlencoded korisničko ime = linuxhint & password = lozinka

Da bismo poslali gornji POST zahtjev pomoću curla, naredbe možemo odrediti kao:

curl -x POST -d “korisničko ime = linuxhint & lozinka = lozinka” https: // linuxhint.com / ograničena / prijava.php

U gornjoj naredbi koristili smo opciju -d da kažemo cURL-u da uključi zadana zaglavlja, a to je Content-Type: application / x-www-form-urlencoded

Opcija -X određuje metodu HTTP zahtjeva za upotrebu, u ovom slučaju, HTTP POST zahtjeva.

cURL Navedite vrstu sadržaja

U nekim ćemo slučajevima možda htjeti [eksplicitno] odrediti vrstu sadržaja prilikom slanja zahtjeva. Entitet Content-Type u zaglavlju određuje vrstu medija resursa koji šaljemo. Vrsta medija je također poznata kao MIME vrsta.

Ako želite saznati više o MIME vrstama, razmotrite dolje navedeni resurs:

https: // linkfy.u / IANA-MIME-vrste

Da bismo odredili vrstu sadržaja u zahtjevu za curL, možemo upotrijebiti zastavicu -H. Na primjer, pošaljite MIME vrstu aplikacije / JSON.

curl -X POST -d "korisničko ime": "linuxhint", "lozinka": "lozinka" -H "Tip sadržaja: aplikacija / json" https: // linuxhint.com / ograničena / prijava.php

Gore navedeno određuje da želimo poslati JSON objekt na navedeni URL. To možete koristiti za čitanje vrijednosti iz JSON datoteke ili slanje kao neobrađene.

Kako čitati podatke iz datoteke

Pretpostavimo da želite upućivati ​​zahtjeve u naredbeni redak pomoću cURL-a, ali imate podatke za slanje pohranjene u datoteci. Možete upotrijebiti Content-Type da odredite vrstu medija, a zatim proslijedite put datoteke koji sadrži podatke. U ovom primjeru ilustrirat ću pomoću JSON objekta.

JSON datoteka (podaci.json) sadrži sljedeće vrijednosti:


"username": "linuxhint",
"password": "lozinka"

Da bismo te podatke poslali iz JSON datoteke, možemo upotrijebiti -d i zatim proslijediti naziv datoteke kao što je prikazano u naredbi ispod:

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

Možete koristiti i -data-binarnu opciju.

curl -X POST -H “Content-Type: application / json” --data-binarni “@ / home / user / data.json ”https: // linuxhint.com / ograničena / prijava.php

Za slanje podataka možete koristiti i tekstualnu datoteku; sve što trebate navesti je Content-Type kao tekst / običan.

Na primjer, tekstualna datoteka (podaci.txt) koji sadrži sljedeće vrijednosti

korisničko ime = linuxhint & password = lozinka

Koristeći naredbu cURL, jednostavno pošaljite zahtjev kao:

curl -X POST -H "Content-Type: text / plain" -d "podaci.txt ”https: // linuxhint.com / ograničena / prijava.php

Možete koristiti druge vrste datoteka koje možete koristiti, poput XML-a, HTML-a i mnogih drugih.

Zaključak

U ovom uputstvu raspravljali smo o načinu izrade POST zahtjeva i prosljeđivanju podataka u različitim formatima. Dobro je imati na umu da je, osim što je vrlo moćan, i curL vrlo fleksibilan. Može kombinirati zbirku opcija u jednoj naredbi za stvaranje moćnih zahtjeva. Za više informacija preporučujem cURL dokumentaciju jer je dobro napisana.

https: // curl.se / dokumenti /

Hvala vam što čitate i zabavite se uz curL.

Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...
Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...