zvlnenie

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

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

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

Umožňuje používateľom nahrávať a sťahovať údaje buď pomocou jednotlivých príkazov, alebo bash skriptov. Poskytuje tiež funkcie, ako je autentifikácia používateľa, tunelovanie proxy serverov, obnovenie sťahovania, nahrávanie na základe formulárov, certifikáty SSL a oveľa viac. Dá sa dosť dobre 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 HTTP post pomocou dátových súborov.

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ä znalosti sieťových protokolov, požiadaviek HTTP a ďalších.

Predtým, ako sa ponoríme do používania aplikácie CURL na vykonávanie požiadaviek POST, najskôr si urobme nastavenie.

Ako nainštalovať cURL

Vo väčšine prípadov nájdete cURL predvolene nainštalovaný v hlavných distribúciách systému Linux. Na potvrdenie, že máte cURL, použite príkaz

zvlnenie - pomoc

Ak sa zobrazí chyba:

-bash: curl: príkaz sa nenašiel

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

Na dokončenie inštalácie použite predvoleného správcu balíkov, ako je uvedené v nasledujúcich príkazoch:

sudo apt-get aktualizácia
sudo apt-get nainštalovať zvlnenie -y

Pred diskusiou o spôsobe POST dát zo súboru pomocou cURL mi dovoľte v krátkosti hovoriť o požiadavke POST. Ako obvykle, ak ste už s týmto oboznámení, môžete pokojne preskočiť vpred; inak sa drž okolo.

cURL POST Žiadosť

Žiadosť o príspevok HTTP je jednou z najpopulárnejších metód požiadaviek HTTP / HTTPS používaných na odosielanie údajov vzdialenému hostiteľovi na vytvorenie alebo aktualizáciu prostriedku.

Teraz:

Nezamieňajte si metódu s PUT; aj keď sú si dosť podobné, majú svoje rozdiely.

Dáta odoslané pomocou požiadavky POST sa ukladajú hlavne v tele požiadavky požiadavky HTTP.

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

POST / obmedzené / prihlásenie.php HTTP / 1.1 hostiteľ: linuxhint.com Typ obsahu: application / x-www-form-urlencoded username = linuxhint & heslo = heslo

Ak chcete odoslať vyššie uvedenú požiadavku POST pomocou adresy cURL, môžeme určiť príkazy ako:

curl -x POST -d „username = linuxhint & heslo = heslo“ https: // linuxhint.com / obmedzené / prihlásenie.php

Vo vyššie uvedenom príkaze sme použili voľbu -d na to, aby sme povedali, že CURL má obsahovať predvolené hlavičky, čo je Content-Type: application / x-www-form-urlencoded

Voľba -X určuje metódu požiadavky 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í žiadosti [výslovne] určiť typ obsahu. Entita typu obsahu 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ť viac o typoch MIME, zvážte zdroj uvedený nižšie:

https: // linkfy.do / IANA-MIME-typy

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

curl -X POST -d „username“: „linuxhint“, „password“: „password“ -H „Content-Type: application / json“ https: // linuxhint.com / obmedzené / prihlásenie.php

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

Ako čítať údaje zo súboru

Predpokladajme, že chcete zadávať požiadavky v príkazovom riadku pomocou príkazu cURL, ale údaje na odoslanie máte uložené v súbore. Pomocou Content-Type môžete určiť typ média a potom odovzdať cestu k súboru s údajmi. V tomto príklade ukážem použitie objektu JSON.

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


"username": "linuxhint",
"password": "heslo"

Na odoslanie týchto údajov zo súboru JSON môžeme použiť znak -d a potom odovzdať názov súboru, ako je uvedené v nasledujúcom príkaze:

curl -X POST -H „Content-Type: application / json“ -d „@data.json ”https: // linuxhint.com / obmedzené / prihlásenie.php

Môžete tiež použiť voľbu -data-binary.

curl -X POST -H „Content-Type: application / json“ --data-binary „@ / home / user / data.json ”https: // linuxhint.com / obmedzené / prihlásenie.php

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

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

username = linuxhint & heslo = heslo

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

curl -X POST -H „Content-Type: text / plain“ -d „dáta.txt ”https: // linuxhint.com / obmedzené / prihlásenie.php

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

Záver

V tomto tutoriáli sme diskutovali o tom, ako robiť požiadavky POST a odovzdávať údaje v rôznych formátoch. Je dobré mať na pamäti, že okrem toho, že je cURL veľmi silný, je tiež veľmi flexibilný. Môže kombinovať kolekciu možností v jednom príkaze a vytvárať tak silné požiadavky. Pre viac informácií odporúčam dokumentáciu cURL, ktorá je dobre napísaná.

https: // zvlnenie.se / docs /

Ďakujeme za prečítanie a bavte sa s CURL.

Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...
Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...
Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...