Získajte CURLy: 10 užitočných vecí, ktoré môžete s cURL robiť

Získajte CURLy: 10 užitočných vecí, ktoré môžete s cURL robiť

Keď sa začneme učiť o nástrojoch príkazového riadka, väčšinou ich považujeme za jednoúčelové. Si naučený





cat

vytlačí obsah súboru,





ls

uvádza všetky položky v adresári a





du

ukazuje využitie miesta na disku. Mnoho nástrojov príkazového riadka má však desiatky možností, všetky sú úhľadne popísané v ich

man

súbory. Niektoré z nich dokážu v kombinácii s inými príkazmi zázraky.



Samozrejme, je nerozumné očakávať, že by si každý mal pamätať každú jednu možnosť. S ohľadom na to je dobré príležitostne osviežiť naše znalosť Linuxových príkazov , pretože by ste mohli objaviť ich nové využitie.

Tentokrát sa zameriame na CURL , nástroj na prenos údajov prostredníctvom mnohých internetových protokolov, ako sú HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP a ďalšie.





Zjednodušene povedané, cURL vykonáva rôzne požiadavky z klienta na server a vytvára medzi nimi spojenie pomocou konkrétneho protokolu a súvisiacich metód. Napríklad ako klient HTTP môže cURL odoslať žiadosť o zobrazenie alebo stiahnutie obsahu (metóda žiadosti GET) alebo o zaslanie obsahu prostredníctvom formulára na webovej stránke (metóda žiadosti POST). Mnoho webových aplikácií a služieb umožňuje interakcii cURL s ich rozhraniami API (Application Programming Interface).

Pretože sa ich funkčnosť do určitej miery prekrýva, cURL a wget sa často navzájom porovnávajú. Oba nástroje môžu sťahovať obsah z internetu, ale wget podporuje rekurzívne sťahovanie, zoškrabovanie webu a používanie je vo všeobecnosti jednoduchšie. Ak chcete iba sťahovať súbory z terminálu, wget je pravdepodobne lepšou voľbou.





Na druhej strane, ak potrebujete pokročilé metódy autentifikácie HTTP a chcete nahrávať a sťahovať súbory, stojí za to sa naučiť curl. Wget tiež podporuje iba HTTP (S) a FTP, zatiaľ čo cURL pokrýva širokú škálu protokolov. To znamená, že cURL dokáže viac skvelých vecí - a tu je desať príkladov, ktoré to dokazujú.

1. Získajte správu o počasí

Ak by vám niekto povedal, aby ste si skontrolovali počasie z terminálu, čakali by ste nejaké nudné čísla. Nie s týmto príkazom.

curl http://wttr.in/LOCATION

Informácie poskytuje CLI aplikácia s názvom ideme , ale ak ho nechcete nainštalovať, cURL môže načítať predpoveď z jeho webového rozhrania wttr.in. Všetko, čo potrebuje, je miesto, pre ktoré chcete predpoveď. Stačí zadať názov mesta, kód letiska alebo vašu aktuálnu IP adresu. Nová funkcia zobrazuje informácie o fázach mesiaca, ak zadáte:

curl wttr.in/Moon

2. Sťahujte súbory a obnovte sťahovanie

Sťahovanie súborov je niečo, čo zvyčajne robíme v prehliadači. Niekedy budete chcieť použiť správcu sťahovania; napríklad pri sťahovaní viacerých súborov naraz alebo keď chcete sťahovanie pozastaviť. Aj keď cURL nie je obľúbenou voľbou pre simultánne sťahovanie (odporúča sa namiesto toho wget), stále ho na tento účel môžete použiť kombináciou jeho výkonných možností (prepínače). Najprv budete potrebovať priamy odkaz na súbor. V tomto prípade použijeme PDF časopis Linux Voice.

curl -O -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Veľký prepínač O (-O) prinúti cURL uložiť súbor s predvoleným názvom súboru (zvyčajne je to zo samotného odkazu). Ak by ste ho chceli uložiť pod iným názvom, použili by ste malé písmeno o a za ním nový názov:

curl -o magazine.pdf -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Súbory sú predvolene uložené v aktuálnom adresári (skontrolujte ho pomocou prípony

pwd

príkaz). Ak ich chcete uložiť inde, zadajte cestu za prepínačom -o. Prepínač -C umožňuje cURL pokračovať v sťahovaní. Pozastavíte to stlačením klávesov Ctrl+C na termináli a pokračujete opätovným spustením rovnakého príkazu na stiahnutie:

cURL zobrazuje priebeh sťahovania v tabuľkovom formáte so stĺpcami obsahujúcimi informácie o rýchlosti sťahovania, celkovej veľkosti súboru, uplynutom čase a ďalšie. Ak sa vám to nepáči, môžete sa rozhodnúť pre jednoduchší ukazovateľ priebehu pridaním -# alebo --progress -bar do svojho príkazu cURL.

Ak chcete stiahnuť viac súborov naraz, uvádzajte odkazy v zozname za sebou:

curl -O file1.txt -O file2.pdf -O file3.zip

S pomocou ďalších nástrojov príkazového riadku môžeme dávkovo sťahovať všetky obrázky PNG a JPG z blogu Tumblr:

curl http://concept-art.tumblr.com/ | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2 | while read l; do curl '$l' -o '${l##*/}'; done

V tomto prípade,

cut

a

grep

zbierajte informácie o názvoch súborov a formátujte ich tak, aby sa zobrazovali iba súbory so špecifikovanými príponami. Ak spustíte príkaz bez posledného potrubia:

curl http://concept-art.tumblr.com/ | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2

Dostanete iba zoznam súborov, ktoré spĺňajú naše kritériá, ale v skutočnosti sa nestiahnu. cURL môže získať zoznam obrázkov z celého radu stránok za predpokladu, že blog používa štandardné stránkovanie:

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2

Rozsah môžete zmeniť zmenou čísel v hranatých zátvorkách. Tento príkaz by opäť uvádzal iba zoznam obrázkov; Ak ich chcete stiahnuť, spustite úplný príkaz v adresári, kam chcete obrázky uložiť:

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2 | while read l; do curl '$l' -o '${l##*/}'; done

Ak sa v tom dobre orientujete regulárne výrazy , môžete zlepšiť vzhľad a účinnosť tohto príkazu a podeliť sa o výsledok v komentároch.

3. Spravujte súbory na serveri FTP

V dnešnej dobe o FTP veľa nepočujeme, ale to neznamená, že je zastaraný. V skutočnosti mnoho projektov s otvoreným zdrojovým kódom a distribúcií Linuxu zdieľa svoj softvér na serveroch FTP. Pretože cURL podporuje FTP, môžete ho používať ako jednoduchého FTP klienta na nahrávanie a sťahovanie súborov. Súbory na serveri FTP môžete prezerať v adresároch:

curl ftp://ftp.debian.org/debian/

Ak chcete zadať podadresár, zadajte jeho názov a lomku (/).

Sťahovanie súborov je podobné sťahovaniu HTTP, ktoré je popísané v predchádzajúcej časti. Ak chcete pozastaviť sťahovanie, môžete použiť -o alebo -O a pridať -C.

curl -O ftp://ftp.heanet.ie/mirrors/linuxmint.com/stable/17.3/linuxmint-17.3-kde-64bit.iso

Aj keď cURL nepodporuje rekurzívne sťahovanie (pamätajte, wget áno!), Stále môže sťahovať celý rad súborov naraz. Jedinou podmienkou je, aby sa názvy súborov riadili vzorom. Mohli by sme napríklad stiahnuť zo servera hostujúceho tapety, kde sú všetky tapety pomenované „wallpaperNUMBER“:

curl -O ftp://ftp.myserver.com/files/wallpaper[0-120].jpg

Niektoré servery FTP vyžadujú pred sťahovaním súborov autentifikáciu. cURL vám umožňuje prihlásiť sa pomocou voľby -u (užívateľ):

curl -u username:password -O ftp://ftp.protectedserver.com/files/example.txt

Súbory môžete tiež nahrávať na server FTP pomocou možnosti -T (prenos):

curl -u username:password -T /home/user/Documents/test.txt ftp://ftp.myserver.com

Tu môžete tiež definovať viacero súborov ako rozsah. Táto funkcia sa niekedy nazýva „globbing“. Ak názvy súborov nesledujú vzorec, uveďte ich v zložených zátvorkách (

-T '{file1.txt,image27.jpg}'

). Naopak, ak majú podobné názvy, použite rovnakú logiku z príkladu sťahovania Tumblr a použite hranaté zátvorky (

-T 'photo[1-50].jpg'

). Ak nie sú vo vašom aktuálnom adresári, zadajte úplnú cestu k súborom.

4. Skontrolujte, či je webová stránka nefunkčná

Všetci sme tam boli. Webová stránka, ktorú skutočne potrebujete, zrazu prestane fungovať. Potom sa Facebook nenačíta. Čo robíte, keď stojíte pred skutočným problémom prvého sveta?

Môžete to vyhľadať na Googli, požiadať priateľa, aby to za vás otestoval, alebo použiť niektorý z týchto serverov s jedným zobrazovaním, ktoré vám oznámia, či je webová stránka nefunkčná. Alebo môžete jednoducho spustiť terminál a spustiť cURL:

curl -Is https://www.twitter.com -L | grep HTTP/

Prepínanie veľkých písmen (-I) kontroluje hlavičku HTTP webovej stránky a pridáva sa možnosť -L (umiestnenie), aby cURL nasledovalo presmerovania. To znamená, že nemusíte zadávať celú adresu URL Facebooku; stačí napísať facebook.com a cURL sa postará o zvyšok vďaka -L. Ak dôjde k presmerovaniam, zobrazia sa s vlastným stavom HTTP.

Správa, ktorá nás zaujíma, je „200 v poriadku“, čo znamená, že s webom je všetko v poriadku. Ak je to skutočne mimo, uvidíte niečo také:

Stavové kódy HTTP sú iba informačné, ako vám ich porozumenie umožňuje. Táto metóda nie je úplne spoľahlivá, pretože webová stránka môže vrátiť stavový kód označujúci úspešne spracovanú požiadavku, ale po otvorení v prehliadači bude prázdny. Napriek tomu by vo väčšine prípadov mal zodpovedať skutočnej situácii a informovať vás o tom, čo je alebo nie je.

5. Rozbaľte skrátené adresy URL

Skrátené adresy URL nie sú vo svojej podstate zlé. Bez nich by bolo ťažké zdieľať odkazy na Twitteri a iných sociálnych sieťach obmedzených na charakter. Užitočné analýzy ponúkajú aj niektoré služby skracovania adries URL. Vždy však existuje riziko, že sa niekto pokúsi skryť škodlivý obsah za skrátenou adresou URL alebo že troll maskuje rickroll (alebo niečo oveľa, oveľa horšie). Ak vám niekedy bude skrátená adresa URL z akéhokoľvek dôvodu podozrivá, cURL vám môže pomôcť rozšíriť ju a zistiť, kam presne vedie:

curl -sIL http://buff.ly/1lTcZSM | grep ^Location;

alebo

curl -sI http://buff.ly/1lTcZSM | sed -n 's/Location: *//p';

CURL môžete kombinovať s

grep

alebo

sed

; hlavný rozdiel je vo formátovaní. Sed je jedným z nástrojov, ktoré by mal každý používateľ Linuxu poznať, a dopĺňa cURL v tomto a niekoľkých ďalších prípadoch použitia. Nezabudnite, že cURL môže sťahovať súbory zo skrátenej adresy URL (za predpokladu, že adresa URL skutočne odkazuje na súbor):

curl -L -o filename.txt http://short.url

Syntax je rovnaká ako pri iných sťahovaniach cURL a voľba -L sa stará o presmerovanie zo skrátenej adresy URL na pôvodnú.

6. Ukážte svoje uznanie za článok ASCII

Je pravda, že to nie je príliš užitočné, ale vyzerá to super. S pomocou

pv

, nástroj na monitorovanie postupu údajov, cURL môže v termináli zobrazovať animácie ASCII.

curl -s http://artscene.textfiles.com/vt100/wineglas.vt | pv -L9600 -q

Možnosti -s a -q udržujú oba príkazy v tichom (tichom) režime. Voľba -L tu odkazuje na príkaz pv a umožňuje vám zmeniť prenosovú rýchlosť údajov v bajtoch za sekundu. Inými slovami, ak sa animácia pohybuje príliš rýchlo alebo príliš pomaly, skúste sa s týmto číslom pohrať. Okrem animácií môže cURL zobrazovať obyčajné, statické umenie ASCII:

Web má množstvo webových stránok so všetkými druhmi umenia ASCII: od úžasne detailných, vysokokvalitných kúskov až po podivné, hlúpe a dokonca NSFW materiály. Táto technika digitálneho umenia pochádza zo šesťdesiatych rokov minulého storočia a dnes je súčasťou internetovej kultúry a histórie a je zachovaná v mnohých zbierkach a nástrojoch, ktoré vám umožňujú prevádzať text a obrázky na umenie ASCII . Môžete ho použiť na ozdobenie terminálu alebo na žartovanie priateľov - čokoľvek, čo pláva na vašej lodi.

7. Experimentujte so sociálnymi médiami

Používanie sociálnych médií z terminálu nie je žiadna novinka-už sme vám ukázali klientov Twitter s príkazovým riadkom pre Linux. Aj keď pravdepodobne neprejdete na cURL ako svoj online nástroj na socializáciu, je dobré vedieť, že pomocou neho môžete uverejňovať príspevky na Facebooku, ako je tu popísané. Všimnete si, že technicky to cURL nerobí samo; kombináciu nástrojov svoju prácu zvládnete.

Čo sa týka Twitteru, kedysi ho bolo možné spravovať priamo z terminálu pomocou cURL. Potom Twitter zmenil svoje API a teraz je tu špeciálny cURL klient pre Twitter s názvom Twurl. Nie je to najľahšie, najmä pre začiatočníkov, a vyžaduje to overenie totožnosti s reklamnou platformou Twitter. To dáva zmysel, ak ste vývojár alebo pokročilý používateľ, ale nie tak veľmi, ak chcete iba tweetovať z príkazového riadka. Napriek tomu existujú spôsoby, ako sa s Twitterom zabaviť. CURL môžete použiť na kontrolu počtu sledovateľov používateľa:

curl -s https://twitter.com/username | grep -o '[0-9,]* Followers';

8. Nájdite svoju externú adresu IP

Zistenie miestnej IP adresy je dosť jednoduché - stačí spustiť

veci, ktoré môžete robiť s malinovým pi
ifconfig

alebo sa obráťte na svoj aplet správy siete. Pokiaľ ide o externú IP, väčšina ľudí používa na získanie týchto informácií špecializované webové stránky. Napriek tomu je možné niektoré veci robiť jednoduchšie z terminálu a toto môže byť jedna z nich. Môžete tiež vytvoriť alias pre príkaz cURL. Existuje niekoľko online služieb, ktoré spolupracujú s cURL:

curl ipinfo.io
curl -s https://4.ifcfg.me
curl -s http://whatismyip.akamai.com
curl ifconfig.me
curl -s icanhazip.com

Niektoré vám môžu povedať viac o akejkoľvek externej adrese IP:

curl ipinfo.io/207.46.13.41
curl ifconfig.me/207.46.13.41

Jediné, čo musíte urobiť, je vybrať si službu. Ak ste nerozhodní, zahrňte ich všetky do svojho aliasu ako záložné riešenia.

9. Prilepte text a zdieľajte obrázky

Prerušenie pracovného toku nie je nikdy dobré pre produktivitu a koncentráciu. Ak väčšinu svojej práce robíte v termináli, prepnutie na prehliadač len kvôli zdieľaniu niekoľkých súborov môže byť nepraktické, ak nie otravné. Našťastie sa niektoré služby pastebin a zdieľanie súborov zrodili pre prácu s cURL, takže ich môžete používať priamo z terminálu bez používateľského účtu.

Clbin a Sprunge.us majú podobnú syntax. V programe Clbin presmerujete lokálny súbor alebo výstup príkazu a vráti odkaz na váš nahraný text:

cat textfile.txt | curl -F 'clbin=<-' https://clbin.com

Podporuje tiež nahrávanie obrázkov (PNG, JPG a GIF):

curl -F 'clbin=@image.png' https://clbin.com

Ak chcete namiesto toho použiť Sprunge.us, zadajte:

cat textfile.txt | curl -F 'sprunge=<-' http://sprunge.us

Sprunge.us nateraz nepodporuje nahrávanie obrázkov.

Ix.io je založený na rovnakom princípe ako predchádzajúce dve služby s niekoľkými funkciami navyše. Ak chcete nahrať súbor, zadajte:

cat file.txt | curl -F 'f:1=<-' ix.io

alebo

curl -F 'f:1=@file.txt' ix.io

Keď dostanete odkaz na nahraný text, môžete upraviť jeho adresu URL tak, aby sa zobrazovalo zvýraznenie syntaxe (pomocou

ix.io/yourpaste+

,

ix.io/yourpaste/

, alebo

ix.io/yourpaste/language

pre konkrétny skriptovací alebo programovací jazyk). Tiež je možné obmedziť počet zobrazení odkazu odkazom na zmenu čísla za

'read:1'

hodnota:

cat file.txt | curl -F 'f:1=<-' -F 'read:1=2' ix.io

Ix.io je primárne určený pre textové súbory, ako sú zdrojový kód alebo systémové denníky. Ak chcete nahrať rôzne formáty súborov, použite Transfer.sh . Podporuje obrázky, šifrovanie súborov a uchováva vaše súbory online dva týždne. Na server Transfer.sh môžete nahrať až 5 GB údajov. Tu je postup:

curl --upload-file bunnies.jpg https://transfer.sh/bunnies.jpg

Môžete slobodne definovať názov odovzdaného súboru. Ak chcete nahrať viac súborov, zobrazte ich jeden po druhom s možnosťou -F:

curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/

10. Skontrolujte neprečítanú poštu v službe GMail

Ak ste ochotní ponoriť sa do podrobností o protokoloch súvisiacich s e-mailom (SMTP, POP, IMAP), existuje v cURL obrovský potenciál. Tento príkaz bude stačiť na rýchlu kontrolu e -mailu. Analyzuje váš kanál GMail a formátuje výstup (predmet e -mailu a odosielateľa)

tr

,

awk

,

sed

a/alebo

grep

príkazy. Toto riešenie je mimoriadne nebezpečné, pretože sprístupňuje vaše prihlasovacie poverenia komukoľvek s prístupom k vášmu terminálu. Prvá verzia zobrazuje meno odosielateľa, zatiaľ čo druhá tlačí iba neprečítané predmety e -mailu:


curl -u username:password --silent 'https://mail.google.com/mail/feed/atom' | tr -d '
' | awk -F '' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n 's/

curl -u username:password --silent 'https://mail.google.com/mail/feed/atom' | grep -oPm1 '(?<=)[^<]+' | sed '1d'

Čo iné môže cURL urobiť?

cURL sa zriedka používa ako samostatný príkaz. Väčšina ľudí ho používa ako súčasť skriptu alebo aplikácie. Napriek tomu je možné pomocou cURL vytvoriť praktické jednoramenné vložky, ako sme tu ukázali. Mnoho z týchto príkladov bolo prevzatých z CommandLineFu, fantastického zdroja inteligentných hackov príkazového riadka, a nemali by ste ich považovať za kamene.

S dostatkom znalostí a skúseností dokážeme každý príkaz upraviť, inak ho naformátovať alebo úplne nahradiť lepším riešením. Môžete zlepšiť naše navrhované príkazy cURL? Viete o ďalších skvelých použitiach cURL? Podeľte sa o svoje tipy v komentároch.

Kredity za obrázky: Vnútri Úvod do príkazového riadka od Usámu Khalida cez Flickr.

zdieľam zdieľam Tweet E -mail Odstráňte tieto súbory a priečinky systému Windows, aby ste uvoľnili miesto na disku

Potrebujete uvoľniť miesto na disku v počítači so systémom Windows? Tu sú súbory a priečinky Windows, ktoré je možné bezpečne odstrániť, aby sa uvoľnilo miesto na disku.

Čítajte ďalej
Súvisiace témy
  • Linux
  • FTP
  • Správa sťahovania
  • Terminál
O autorovi Ivana Isadora Devcic(24 publikovaných článkov)

Ivana Isadora je nezávislá spisovateľka a prekladateľka, milovníčka Linuxu a fanynka KDE. Podporuje a propaguje bezplatný a open source softvér a vždy hľadá nové, inovatívne aplikácie. Zistite, ako sa dostať do kontaktu tu .

Viac od Ivany Isadory Devcic

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber