Kako koristiti cURL objavu podataka iz datoteke

How Use Curl Post Data From File

cURL je besplatan i uslužni program naredbenog retka otvorenog koda koji se koristi za prijenos podataka na udaljeni host ili s njega uz minimalnu interakciju korisnika. cURL radi s primarnim protokolima poput HTTP -a, FTP -a, SCP -a i SFTP -a.

Omogućuje korisnicima učitavanje i preuzimanje podataka bilo pomoću pojedinačnih naredbi ili bash skripti. Omogućuje i značajke kao što su autentifikacija korisnika, proxy tuneliranje, životopis za preuzimanje, prijenosi na temelju obrazaca, SSL certifikati i još mnogo toga. Može se sa sigurnošću reći da je cURL više od HTTP klijenta.



Ovaj vodič će vas provesti kroz jednu cURL funkcionalnost koja omogućuje korisnicima da izvode HTTP zahtjeve za objavom koristeći podatke datoteke.



Prije nego počnemo, dopustite mi da spomenem da ovo nije vodič za početnike u cURL -u; potreban vam je stupanj prethodnog znanja, posebno poznavanje mrežnih protokola, HTTP zahtjeva itd.



Prije nego što se upustimo u korištenje cURL -a za izvršavanje POST zahtjeva, prvo se postavimo.

Kako instalirati cURL

U većini slučajeva, prema zadanim postavkama cURL će biti instaliran u većim distribucijama Linuxa. Za potvrdu da imate cURL, koristite naredbu

curl –- pomoć

Ako dobijete grešku:



-bash: curl:naredbanije pronađeno

Morat ćete ga instalirati prije nego nastavite.

Za dovršetak instalacije upotrijebite zadani upravitelj paketa kako je prikazano u naredbama u nastavku:

sudo apt-get ažuriranje

sudo apt-get installkovrča-i

Prije nego raspravimo kako POST podatke iz datoteke s cURL -om, dopustite mi da ukratko govorim o POST zahtjevu. Kao i obično, ako ste već upoznati s tim, slobodno preskočite naprijed; u suprotnom, ostanite tu.

cURL POST Zahtjev

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

Sada :

Molimo ne miješajte metodu s PUT; iako su prilično slične, imaju 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čen/login.php HTTP/1.1Domaćin: linuxhint.com-Content-Type: application/x-www-form-urlencodedKorisničko ime= linuxhint&lozinka= lozinka

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

kovrča-xPOST-d Korisničko ime= linuxhint&lozinka= lozinka https://linuxhint.com/ograničen/login.php

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

Opcija -X navodi način HTTP zahtjeva za korištenje, u ovom slučaju HTTP POST zahtjeva.

cURL Odredite vrstu sadržaja

U nekim slučajevima možda bismo htjeli navesti [eksplicitno] Content-Type prilikom slanja zahtjeva. Entitet Content-Type u zaglavlju određuje vrstu medija resursa koji šaljemo. Vrsta medija također je općenito poznata kao MIME tip.

Ako želite saznati o MIME tipovima, razmotrite dolje navedene izvore:

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

Za specifikaciju Content -Type u cURL zahtjevu možemo upotrijebiti zastavicu -H. Na primjer, pošaljimo MIME vrstu aplikacije/JSON.

kovrča-XPOST-d {korisničko ime: linuxhint, lozinka: lozinka} -HContent-Type: application/json https://linuxhint.com/ograničen/login.php

Gore navedeno navodi da želimo poslati JSON objekt na navedeni URL. Ovo možete koristiti za čitanje vrijednosti iz JSON datoteke ili slanje kao neobrađeno.

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 koristiti Content-Type za navođenje vrste medija, a zatim proslijediti putanju datoteke koja sadrži podatke. Za ovaj primjer ilustrirat ću pomoću JSON objekta.

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

{
'Korisničko ime':'linuxhint',
'lozinka':'lozinka'
}

Za slanje ovih podataka iz JSON datoteke možemo upotrijebiti -d, a zatim proslijediti naziv datoteke kao što je prikazano u naredbi ispod:

kovrča-XPOST-HContent-Type: application/json-d @data.json https://linuxhint.com/ograničen/login.php

Također možete koristiti –data-binary opciju.

kovrča-XPOST-HContent-Type: application/json--data-binary @ /Dom/korisnik/data.json https://linuxhint.com/ograničen/login.php

Za slanje podataka možete koristiti i tekstualnu datoteku; sve što trebate navesti je Content-Type kao text/plain.

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

Korisničko ime= linuxhint&lozinka= lozinka

Pomoću naredbe cURL jednostavno pošaljite zahtjev kao:

kovrča-XPOST-HVrsta sadržaja: tekst/običan-ddata.txt https://linuxhint.com/ograničen/login.php

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

Zaključak

U ovom smo vodiču razgovarali o tome kako slati POST zahtjeve i prosljeđivati ​​podatke u različitim formatima. Dobro je imati na umu da je cURL osim što je vrlo moćan, vrlo fleksibilan. Može kombinirati zbirku opcija u jednoj naredbi za stvaranje snažnih zahtjeva. Za više informacija preporučujem cURL dokumentaciju jer je dobro napisana.

https://curl.se/docs/

Hvala vam na čitanju i zabavite se uz cURL.