Ako používať cURL údaje zo súboru

How Use Curl Post Data From File



cURL je bezplatný a otvorený zdrojový nástroj príkazového riadka, ktorý sa používa na prenos údajov do alebo zo vzdialeného hostiteľa s minimálnou interakciou s používateľom. cURL funguje s primárnymi protokolmi ako HTTP, FTP, SCP a SFTP.

Umožňuje používateľom nahrávať a sťahovať údaje pomocou jednoduchých príkazov alebo skriptov bash. Poskytuje tiež funkcie, ako je autentifikácia používateľa, tunelovanie servera proxy, obnovenie sťahovania, nahrávanie na základe formulárov, certifikáty SSL a mnoho ďalších. Dá sa bezpečne povedať, že cURL je viac ako klient HTTP.







Tento tutoriál vás prevedie jednou funkciou cURL, ktorá používateľom umožňuje vykonávať požiadavky na odoslanie HTTP pomocou údajov o súboroch.



Skôr ako začneme, dovoľte mi spomenúť, že toto nie je príručka pre začiatočníkov k CURL; potrebujete určitý stupeň predchádzajúceho know-how, najmä znalosť sieťových protokolov, požiadaviek HTTP a ďalších.



Predtým, ako sa dostaneme k použitiu cURL na plnenie požiadaviek POST, najskôr si nastavíme.





Ako nainštalovať cURL

Vo väčšine prípadov nájdete cURL štandardne nainštalované vo veľkých distribúciách Linuxu. Na potvrdenie, že máte cURL, použite príkaz

zvinutie-pomoc

Ak sa zobrazí chyba:



-bash: curl:príkaznenájdené

Pred pokračovaním budete musieť nainštalovať.

Na dokončenie inštalácie použite predvolený správca balíkov, ako je uvedené v nižšie uvedených príkazoch:

sudo apt-get aktualizácia

sudo apt-get nainštalovaťzvinúť-a

Pred diskusiou o tom, ako POST publikovať údaje zo súboru pomocou cURL, mi dovoľte stručne hovoriť o požiadavke POST. Ako obvykle, ak to už poznáte, môžete pokojne preskočiť dopredu; inak sa drž.

požiadavka na CURL POST

Žiadosť o príspevok HTTP je jednou z najobľúbenejších metód požiadaviek HTTP/HTTPS, ktoré sa používajú na odosielanie údajov vzdialenému hostiteľovi na vytvorenie alebo aktualizáciu zdroja.

Teraz :

Nezamieňajte prosím metódu s PUT; aj keď sú si veľmi podobní, majú svoje rozdiely.

Dáta odoslané pomocou požiadavky POST sú uložené hlavne v tele požiadavky HTTP požiadavky.

Zvážte napríklad nižšie uvedenú požiadavku POST, ktorá odosiela používateľské meno a heslo, ako aj ich hodnoty.

POST/obmedzený/login.php HTTP/1.1Hostiteľ: linuxhint.com Typ obsahu: aplikácia/x-www-form-urlencodedpoužívateľské meno= linuxhint&heslo= heslo

Na odoslanie vyššie uvedenej požiadavky POST pomocou cURL môžeme zadať príkazy ako:

zvinúť-XPOST-d používateľské meno= linuxhint&heslo= heslo https://linuxhint.com/obmedzený/login.php

Vo vyššie uvedenom príkaze sme použili možnosť -d, aby sme povedali, že cURL má zahrnúť predvolené hlavičky, čo je Content-Type: application/x-www-form-urlencoded

Voľba -X určuje metódu žiadosti HTTP, ktorá sa má použiť, v tomto prípade požiadavka HTTP POST.

cURL Zadajte typ obsahu

V niektorých prípadoch možno budeme chcieť pri odosielaní požiadavky špecifikovať [výslovne] typ obsahu. Entita Content-Type v hlavičke určuje typ média zdroja, ktorý odosielame. Typ média je tiež bežne známy ako typ MIME.

Ak sa chcete dozvedieť o typoch MIME, zvážte nižšie uvedený zdroj:

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

Na zadanie typu obsahu v požiadavke cURL môžeme použiť príznak -H. Pošlite nám napríklad MIME typ aplikácie/JSON.

zvinúť-XPOST-d {používateľské meno: linuxhint, heslo: heslo} -HTyp obsahu: aplikácia/json https://linuxhint.com/obmedzený/login.php

Vyššie uvedené špecifikuje, že chceme odoslať objekt JSON na zadanú adresu URL. Môžete to použiť na čítanie hodnôt zo súboru JSON alebo ich odoslať ako nespracované.

Ako čítať údaje zo súboru

Predpokladajme, že chcete zadávať požiadavky v príkazovom riadku pomocou cURL, ale údaje na odoslanie máte uložené v súbore. Typ obsahu môžete použiť na zadanie typu média a potom odovzdanie cesty k súboru s údajmi. V tomto prípade budem ilustrovať pomocou objektu JSON.

Súbor JSON (data.json) obsahuje nasledujúce hodnoty:

{
'užívateľské meno':'linuxhint',
'heslo':'heslo'
}

Na odoslanie týchto údajov zo súboru JSON môžeme použiť -d a potom odovzdať názov súboru podľa nasledujúceho príkazu:

zvinúť-XPOST-HTyp obsahu: aplikácia/json-d @data.json https://linuxhint.com/obmedzený/login.php

Môžete tiež použiť voľbu –data-binárne.

zvinúť-XPOST-HTyp obsahu: aplikácia/json--data-binárne @ /Domov/používateľ/data.json https://linuxhint.com/obmedzený/login.php

Na odoslanie údajov môžete použiť aj textový súbor; všetko, čo musíte zadať, je Content-Type ako text/plain.

Napríklad textový súbor (data.txt) obsahujúci nasledujúce hodnoty

používateľské meno= linuxhint&heslo= heslo

Pomocou príkazu cURL jednoducho odošlite požiadavku ako:

zvinúť-XPOST-HTyp obsahu: text/prostý-ddata.txt https://linuxhint.com/obmedzený/login.php

Môžete použiť aj iné typy súborov, ako napríklad XML, HTML a mnoho ďalších.

Záver

V tomto návode sme diskutovali o tom, ako vytvárať požiadavky POST a prenášať údaje v rôznych formátoch. Je dobré mať na pamäti, že cURL je nielen veľmi silný, ale aj veľmi flexibilný. Môže kombinovať zbierku možností v jednom príkaze a vytvárať tak výkonné požiadavky. Pre viac informácií odporúčam dokumentáciu cURL, pretože je dobre napísaná.

https://curl.se/docs/

Ďakujeme, že čítate a zabavíte sa s cURL.