Get cURLy: 10 hasznos dolog, amit megtehetsz a cURL segítségével

Get cURLy: 10 hasznos dolog, amit megtehetsz a cURL segítségével

Amikor elkezdjük megismerni a parancssori eszközöket, hajlamosak vagyunk egyetlen célra tekinteni. Erre tanítják





cat

kinyomtatja a fájl tartalmát,





ls

felsorolja a könyvtár összes elemét, és





du

a lemezterület -használatot mutatja. Sok parancssori eszköz azonban több tucat lehetőséget kínál, mindegyiket szépen leírva

man

fájlokat. Némelyikük más parancsokkal kombinálva is csodákra képes.



Természetesen ésszerűtlen elvárni, hogy bárki emlékezzen minden egyes lehetőségre. Ezt szem előtt tartva jó alkalmanként felfrissíteni az étlapunkat Linux parancsok ismerete , mert új felhasználási lehetőségeket fedezhet fel.

Ezúttal arra koncentrálunk becsavar , eszköz adattovábbításra számos internetes protokollon keresztül, például HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP és így tovább.





Leegyszerűsítve a cURL különféle kéréseket hajt végre az ügyféltől a szerverig, kapcsolatot létesítve közöttük egy speciális protokoll és a hozzá tartozó módszerek segítségével. Például HTTP -ügyfélként a cURL kérést küldhet tartalom megtekintésére vagy letöltésére (GET kérési módszer), vagy tartalom közzétételére egy űrlapon keresztül egy webhelyen (POST kérési módszer). Számos webes alkalmazás és szolgáltatás lehetővé teszi a CURL számára, hogy kölcsönhatásba lépjen az API -jával (Application Programming Interface).

Mivel funkcionalitásuk bizonyos mértékig átfedésben van, a cURL és a wget gyakran összehasonlítható egymással. Mindkét eszköz letölthet tartalmat az internetről, de a wget támogatja a rekurzív letöltéseket, a webkaparást, és általában egyszerűbbnek tűnik a használata. Ha csak fájlokat szeretne letölteni a terminálról, akkor a wget valószínűleg jobb választás.





Másrészt, ha speciális HTTP -hitelesítési módszerekre van szüksége, és fájlokat szeretne feltölteni, valamint le is szeretné tölteni, akkor érdemes megtanulni a CURL -et. Ezenkívül a wget csak a HTTP (S) és az FTP protokollt támogatja, míg a cURL a protokollok széles skáláját lefedi. Ez azt jelenti, hogy a CURL több klassz dolgot is képes végrehajtani - és íme tíz példa annak bizonyítására.

1. Szerezze be az Időjárásjelentést

Ha valaki azt mondja, hogy ellenőrizze az időjárást a terminálról, akkor unalmas számokat láthat. Ezzel a paranccsal nem.

curl http://wttr.in/LOCATION

Az információkat egy CLI alkalmazás biztosítja megyünk , de ha nem akarja telepíteni, a cURL le tudja tölteni az előrejelzést a webes felületéről, a wttr.in. Csak az a hely szükséges, amelyre előrejelzést szeretne. Csak írja be a város nevét, a repülőtér kódját vagy az aktuális IP -címét. Egy új funkció megjeleníti a holdfázisokkal kapcsolatos információkat, ha beírja:

curl wttr.in/Moon

2. Fájlok letöltése és a letöltések folytatása

A fájlok letöltését általában a böngészőben végezzük. Néha érdemes letöltéskezelőt használni; például, ha egyszerre több fájlt tölt le, vagy ha szüneteltetni szeretné a letöltést. Bár a cURL nem népszerű választás az egyidejű letöltéseknél (ehelyett a wget ajánlott), mégis használhatja erre a célra, ha kombinálja az erős lehetőségeket (kapcsolók). Először közvetlen linkre van szüksége a fájlhoz. Ebben a példában a Linux Voice folyóirat PDF fájlját fogjuk használni.

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

A nagybetűs O kapcsoló (-O) hatására a cURL az alapértelmezett fájlnévvel menti a fájlt (általában a hivatkozásból). Ha más néven szeretné menteni, használja a kisbetűs o betűt, majd az új nevet:

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

Alapértelmezés szerint a fájlok az aktuális könyvtárba kerülnek (ellenőrizze a

pwd

parancs). Ha máshol szeretné menteni őket, adja meg a -o kapcsoló utáni elérési utat. A -C - kapcsoló lehetővé teszi a CURL számára a letöltés folytatását. A Ctrl+C billentyűkombinációval szüneteltetheti a terminálon, majd újraindíthatja ugyanazt a letöltési parancsot:

A cURL táblázatszerű formátumban jeleníti meg a letöltés folyamatát, oszlopokkal, amelyek információkat tartalmaznak a letöltési sebességről, a teljes fájlméretről, az eltelt időről és egyebekről. Ha ez nem tetszik, választhat egy egyszerűbb folyamatjelző sávot, ha hozzáadja a -# vagy --progress -bar címet a cURL parancshoz.

Ha egyszerre több fájlt szeretne letölteni, csak sorolja fel a hivatkozásokat egymás után:

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

Más parancssori eszközök segítségével minden PNG és JPG képet kötegelten tölthetünk le a Tumblr blogból:

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

Ebben az esetben,

cut

és

grep

információkat gyűjteni a fájlnevekről és formázni úgy, hogy csak a meghatározott kiterjesztésű fájlok jelenjenek meg. Ha a parancsot az utolsó cső nélkül futtatja:

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

csak kap egy listát azokról a fájlokról, amelyek megfelelnek a kritériumainknak, de valójában nem töltik le őket. A cURL számos oldalról kaphat képeket, feltéve, hogy a blog szabványos lapozást használ:

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

A tartományt a szögletes zárójelben lévő számok megváltoztatásával módosíthatja. Ez a parancs ismét csak a képeket sorolja fel; letöltéséhez futtassa a teljes parancsot abban a könyvtárban, ahová a képeket menteni kívánja:

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

Ha jól ismeri szabályos kifejezések , javíthatja a parancs megjelenését és hatékonyságát, és megoszthatja az eredményt a megjegyzésekben.

3. Fájlok kezelése FTP -kiszolgálón

Manapság nem sokat hallani az FTP -ről, de ez nem jelenti azt, hogy elavult. Valójában sok nyílt forráskódú projekt és Linux disztribúció megosztja szoftverét FTP -kiszolgálókon. Mivel az FTP -t támogatja a cURL, egyszerű FTP -ügyfélként használhatja fájlok feltöltésére és letöltésére. A fájlokat az FTP -kiszolgálón böngészheti a könyvtárak elérésével:

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

Egy alkönyvtár megadásához írja be annak nevét, majd egy perjelet (/).

A fájlok letöltése hasonló az előző részben leírt HTTP -letöltésekhez. Használhatja az -o vagy az -O billentyűt, és hozzáadhatja a -C billentyűt, ha szüneteltetni szeretné a letöltést.

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

Bár a cURL nem támogatja a rekurzív letöltéseket (ne feledje, a wget igen!), Mégis képes letölteni egy sor fájlt egyszerre. Az egyetlen feltétel, hogy a fájlnevek egy mintát kövessenek. Például letölthetnénk egy háttérkép-tároló szerverről, ahol a háttérképek mindegyike „wallpaperNUMBER” névvel rendelkezik:

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

Néhány FTP -kiszolgáló hitelesítést igényel a fájlok letöltése előtt. A cURL lehetővé teszi a bejelentkezést a -u (felhasználó) opcióval:

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

Fájlokat is feltölthet FTP szerverre a -T (átvitel) opcióval:

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

Itt több fájlt is megadhat tartományként. Ezt a funkciót néha „globbingnek” is nevezik. Ha a fájlnevek nem követik a mintát, csak sorolja fel őket göndör zárójelek közé (

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

). Ezzel szemben, ha hasonló nevük van, akkor ugyanazt a logikát alkalmazza a Tumblr letöltési példában, és használjon szögletes zárójelet (

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

). Győződjön meg arról, hogy megadja a fájlok teljes elérési útját, ha nem szerepelnek az aktuális könyvtárban.

4. Ellenőrizze, hogy nem működik -e egy webhely

Mindannyian ott voltunk. Egy weboldal, amire feltétlenül szüksége van, hirtelen leáll. Akkor a Facebook nem töltődik be. Mi a teendő az első világ valódi problémájával?

Google-olhatja, megkérheti egy barátját, hogy tesztelje Ön helyett, vagy használhatja azokat az egyszeri kiszolgáló webhelyeket, amelyek jelzik, ha egy webhely nem működik. Vagy felgyújthatod a terminált, és futtathatod a cURL -t:

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

A nagybetűs I kapcsoló (-I) ellenőrzi a weblap HTTP fejlécét, és a -L (hely) opció hozzáadódik ahhoz, hogy a cURL kövesse az átirányításokat. Ez azt jelenti, hogy nem kell beírnia a teljes Facebook URL -t; csak irj facebook.com és a cURL gondoskodik a többiről a -L -nek köszönhetően. Ha vannak átirányítások, azok a saját HTTP állapotukkal jelennek meg.

A minket érdeklő üzenet „200 OK”, ami azt jelenti, hogy minden rendben van a webhellyel. Ha valóban leesett, akkor valami ilyesmit fog látni:

A HTTP állapotkódok csak tájékoztató jellegűek, amennyire az Ön megértése lehetővé teszi. Ez a módszer nem teljesen megbízható, mert a webhely visszaadhatja a sikeresen feldolgozott kérést jelző állapotkódot, de üres lesz, amikor megnyitja a böngészőben. Ennek ellenére a legtöbb esetben meg kell felelnie a valós helyzetnek, és tudnia kell, mi van fent vagy lefelé.

5. Bontsa ki a Rövidített URL -címeket

A rövidített URL -ek eredendően nem rosszak. Nélkülük nehéz lenne linkeket megosztani a Twitteren és más karakterkorlátozott közösségi hálózatokon. Néhány URL -rövidítő szolgáltatás hasznos elemzéseket is kínál. De mindig fennáll annak a veszélye, hogy valaki rosszindulatú tartalmat próbál elrejteni egy lerövidített URL mögé, vagy hogy egy troll elfedi a Rickroll -t (vagy valami sokkal -sokkal rosszabbat). Ha bármilyen okból gyanúsnak érzi a lerövidített URL -t, a cURL segít kibővíteni azt, és megtudhatja, hogy pontosan hová vezet:

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

vagy

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

A cURL kombinálható a következővel:

grep

vagy

sed

; a fő különbség a formázásban van. A Sed az egyik olyan eszköz, amelyet minden Linux -felhasználónak ismernie kell, és kiegészíti a cURL -t ebben és néhány más használati esetben. Ne felejtsük el, hogy a CURL letöltheti a fájlokat egy lerövidített URL -ről (feltéve, hogy az URL valójában egy fájlra mutat):

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

A szintaxis ugyanaz, mint más cURL -letöltéseknél, és a -L opció gondoskodik a rövidített URL -ről az eredetire történő átirányításról.

6. Mutassa meg elismerését az ASCII Art

Igaz, ez nem különösebben hasznos, de jól néz ki. Segítségével

pv

, amely segíti az adatok előrehaladását, a cURL képes ASCII animációkat megjeleníteni a terminálon.

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

A -s és -q opciók mindkét parancsot néma (csendes) módban tartják. A -L opció itt a pv parancsra vonatkozik, és lehetővé teszi az adatok átviteli sebességének módosítását bájtban másodpercenként. Más szóval, ha az animáció túl gyorsan vagy túl lassan halad, próbáljon meg ezzel a számmal játszani. Az animációk mellett a cURL képes megjeleníteni a sima, statikus ASCII -rajzokat is:

A weben rengeteg weboldal található mindenféle ASCII-művészettel: az elképesztően részletes, kiváló minőségű daraboktól a furcsa, buta és akár NSFW-anyagokig. Ez a digitális művészeti technika az 1960 -as évekből származik, és ma az internetes kultúra és történelem része, amelyet számos gyűjteményben és eszközben tartanak életben. konvertálja a szöveget és a képeket ASCII art -ra . Használhatja a terminál díszítésére vagy a barátok tréfálására - bármi úszik a csónakon.

7. Kísérletezzen a közösségi médiával

A közösségi média használata a terminálról nem újdonság-már bemutattuk a parancssori Twitter klienseket Linux számára. Bár valószínűleg nem vált a CURL -re, mint online szocializációs eszközre, jó tudni, hogy az itt leírtak szerint közzétehet vele a Facebookon. Észre fogja venni, hogy technikailag a CURL nem csinálja magától; az eszközök kombinációja elvégzi a munkát.

Ami a Twittert illeti, korábban a terminálról közvetlenül lehetett kezelni a cURL segítségével. Ezután a Twitter megváltoztatta API -ját, és most van egy speciális cURL kliens a Twitter számára, Twurl néven. Használata nem a legegyszerűbb, különösen egy kezdő számára, és hitelesítést igényel a Twitter hirdetési platformon keresztül. Ennek akkor van értelme, ha Ön fejlesztő vagy haladó felhasználó, de nem annyira, ha csak tweetelni szeretne a parancssorból. Ennek ellenére vannak módok a Twitter szórakozására. A cURL segítségével ellenőrizheti a felhasználó követői számát:

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

8. Keresse meg a külső IP -címét

A helyi IP -cím megtalálása elég egyszerű - csak futtassa

egy vagy több videót eltávolítottunk a lejátszási listáról, mert törölték őket a youtube -ról.
ifconfig

vagy keresse fel a Network Management kisalkalmazást. A külső IP esetében a legtöbb ember speciális webhelyeket használ ezen információk megszerzésére. Ennek ellenére néhány dolgot egyszerűen meg lehet tenni a terminálról, és ez lehet az egyik. Létrehozhat egy álnevet is a cURL parancshoz. Számos online szolgáltatás működik együtt a cURL -lel:

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

Néhányan többet tudnak mondani bármilyen külső IP -címről:

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

Mindössze annyit kell tennie, hogy választ egy szolgáltatást. Ha döntésképtelen, csak vegye fel az álnevébe, tartalék megoldásként.

9. Szöveg beillesztése és képek megosztása

A munkafolyamat megtörése soha nem tesz jót a termelékenységnek és a koncentrációnak. Ha a legtöbb munkáját a terminálon végzi, akkor böngészőre váltás csak néhány fájl megosztása érdekében nem praktikus, ha nem bosszantó. Szerencsére néhány pastebin és fájlmegosztó szolgáltatás született a cURL használatához, így azokat közvetlenül a terminálról, felhasználói fiók nélkül használhatja.

Clbin és Sprunge.us hasonló szintaxissal rendelkeznek. A Clbin segítségével egy helyi fájlt vagy egy parancs kimenetét csövezi, és ez visszatér egy linket a feltöltött szöveghez:

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

Képfeltöltést is támogat (PNG, JPG és GIF):

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

Ha helyette a Sprunge.us webhelyet szeretné használni, írja be:

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

A Sprunge.us egyelőre nem támogatja a képek feltöltését.

Ix.io ugyanazon az elven alapul, mint az előző két szolgáltatás, néhány extra funkcióval. Fájl feltöltéséhez írja be:

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

vagy

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

Amikor linket kap a feltöltött szöveghez, módosíthatja annak URL -címét, hogy megjelenítse a szintaxis kiemelését (

ix.io/yourpaste+

,

ix.io/yourpaste/

, vagy

ix.io/yourpaste/language

egy adott szkript- vagy programnyelvhez). Azt is korlátozhatja, hogy hányszor tekinthető meg egy hivatkozás a szám utáni szám módosításával

'read:1'

érték:

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

Az Ix.io elsősorban szöveges fájlokhoz, például forráskódhoz vagy rendszernaplókhoz készült. Ha különféle fájlformátumokat szeretne feltölteni, használja Transfer.sh . Támogatja a képeket, a fájlok titkosítását, és két hétig online tartja a fájlokat. Legfeljebb 5 GB adatot tölthet fel a Transfer.sh webhelyre. Itt van, hogyan:

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

Ön szabadon meghatározhatja a feltöltött fájl nevét. Több fájl feltöltéséhez sorolja fel őket egymás után a -F opcióval:

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

10. Jelölje be a GMail olvasatlan leveleit

Óriási lehetőség nyílik a cURL feloldására, ha hajlandó elmélyedni az e-mailekkel kapcsolatos protokollok (SMTP, POP, IMAP) részleteiben. A gyors e -mail ellenőrzéshez ez a parancs teljesíti. Elemzi a GMail feedet, és formázza a kimenetet (e -mail tárgya és feladója)

tr

,

awk

,

sed

és/vagy

grep

parancsokat. Ne feledje, hogy ez a megoldás rendkívül veszélyes, mert a bejelentkezési adatait mindenki számára hozzáférhetővé teszi, aki hozzáfér a terminálhoz. Az első verzió a feladó nevét mutatja, míg a második csak olvasatlan e -maileket nyomtat:


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'

Mit tehet még a CURL?

A cURL -t ritkán használják önálló parancsként. A legtöbb ember egy szkript vagy egy alkalmazás részeként használja. Ennek ellenére lehetséges egy praktikus egysoros cURL-et létrehozni, amint azt itt bemutattuk. E példák közül sokat a CommandLineFu-ból, az intelligens parancssori feltörések fantasztikus forrásából adaptáltunk, és nem szabad kőbe vésettnek tekinteni őket.

Elegendő tudással és tapasztalattal minden parancsot módosíthatunk, másképpen formázhatunk, vagy teljesen helyettesíthetünk egy jobb megoldással. Javíthatja a javasolt cURL parancsokat? Tudsz a CURL egyéb hasznos módszereiről? Ossza meg tippjeit a megjegyzésekben.

Képhitelek: Belső bevezetés a parancssorba írta Osama Khalid a Flickr -en keresztül.

Részvény Részvény Csipog Email Törölje ezeket a Windows fájlokat és mappákat a lemezterület felszabadításához

Törölnie kell a lemezterületet a Windows számítógépen? Íme a Windows fájlok és mappák, amelyek biztonságosan törölhetők a lemezterület felszabadítása érdekében.

Olvassa tovább
Kapcsolódó témák
  • Linux
  • FTP
  • Letöltéskezelés
  • Terminál
A szerzőről Ivana Isadora Devcic(24 cikk megjelent)

Ivana Isadora szabadúszó író és fordító, Linux -szerető és KDE -rajongó. Támogatja és népszerűsíti az ingyenes és nyílt forráskódú szoftvereket, és mindig friss, innovatív alkalmazásokat keres. Tudja meg, hogyan léphet kapcsolatba itt .

Ivana Isadora Devcic további alkotásai

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide