Hankige cURLy: 10 kasulikku asja, mida saate cURLiga teha

Hankige cURLy: 10 kasulikku asja, mida saate cURLiga teha

Kui hakkame käsurea tööriistu tundma õppima, näeme neid tavaliselt üheotstarbelistena. Teile õpetatakse seda





cat

prindib faili sisu,





ls

loetleb kõik kataloogi üksused ja





du

näitab kettaruumi kasutamist. Paljudel käsurea tööriistadel on aga kümneid valikuid, mis kõik on kenasti kirjeldatud

man

failid. Mõned neist võivad teha imesid, kui neid kombineerida teiste käskudega.



Loomulikult ei ole mõistlik eeldada, et keegi peaks iga võimalust meeles pidama. Seda silmas pidades on hea aeg -ajalt oma värskendada Linuxi käskude tundmine , sest võite avastada neile uusi kasutusvõimalusi.

Seekord keskendume CURL , tööriist andmete edastamiseks mitmete Interneti -protokollide kaudu, nagu HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP ja palju muud.





Lihtsustatult täidab cURL mitmesuguseid taotlusi kliendilt serverile, luues nende vahel ühenduse konkreetse protokolli ja sellega seotud meetodite abil. Näiteks HTTP -kliendina saab cURL saata päringu sisu vaatamiseks või allalaadimiseks (GET päringumeetod) või veebisaidi vormi kaudu sisu postitamiseks (POST -päringu meetod). Paljud veebirakendused ja -teenused võimaldavad CURL -il suhelda oma API -dega (rakenduste programmeerimisliides).

Kuna nende funktsionaalsus kattub teatud määral, võrreldakse cURL ja wget sageli üksteisega. Mõlemad tööriistad saavad Internetist sisu alla laadida, kuid wget toetab rekursiivset allalaadimist, veebi kraapimist ja tundub üldiselt lihtsam. Kui soovite lihtsalt faile terminalist alla laadida, on wget ilmselt parem valik.





Teisest küljest, kui vajate täiustatud HTTP -autentimismeetodeid ja soovite nii faile üles laadida kui ka alla laadida, tasub õppida cURL -i töötamist. Samuti toetab wget ainult HTTP (S) ja FTP -d, samas kui cURL hõlmab laia valikut protokolle. See tähendab, et cURL saab teha rohkem lahedaid asju - ja siin on selle tõestamiseks kümme näidet.

1. Hankige ilmateade

Kui keegi ütleks teile, et kontrollige terminalist ilmateadet, näete oodata igavaid numbreid. Mitte selle käsuga.

curl http://wttr.in/LOCATION

Teavet pakub CLI rakendus nimega me läheme , aga kui te ei soovi seda installida, saab cURL hankida prognoosi oma veebiliideselt wttr.in. Vaja on vaid asukohta, mille kohta soovite prognoosi. Sisestage lihtsalt linna nimi, selle lennujaama kood või praegune IP -aadress. Uus funktsioon näitab teavet kuufaaside kohta, kui sisestate:

curl wttr.in/Moon

2. Laadige failid alla ja jätkake allalaadimist

Failide allalaadimine on tavaliselt see, mida me brauseris teeme. Mõnikord soovite kasutada allalaadimishaldurit; näiteks mitme faili korraga allalaadimisel või kui soovite allalaadimise peatada. Kuigi cURL ei ole populaarne valik samaaegseks allalaadimiseks (selle asemel on soovitatav kasutada wget), saate seda siiski sellel eesmärgil kasutada, kombineerides selle võimsaid valikuid (lülitid). Kõigepealt vajate otselinki failile. Selles näites kasutame ajakirja Linux Voice PDF -faili.

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

Suurtähtede O lüliti (-O) paneb cURL-i salvestama vaikimisi failinimega (tavaliselt lingilt). Kui soovite selle teise nime alla salvestada, kasutage väiketähti o, millele järgneb uus nimi:

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

Vaikimisi salvestatakse failid praegusesse kataloogi (kontrollige seda

pwd

käsk). Nende mujale salvestamiseks sisestage tee pärast -o lülitit. -C - lüliti võimaldab CURL -il allalaadimist jätkata. Peatate selle, vajutades terminalis klahvikombinatsiooni Ctrl+C ja jätkates sama allalaadimiskäsu uuesti käivitamisega:

cURL kuvab allalaadimise edenemise tabelitaolises vormingus koos veergudega, mis sisaldavad teavet allalaadimiskiiruse, faili kogusuuruse, kulunud aja ja muu kohta. Kui see teile ei meeldi, saate valida lihtsama edenemisriba, lisades käsule cURL -# või --progress -bar.

Mitme faili korraga allalaadimiseks loetlege lihtsalt lingid üksteise järel:

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

Teiste käsurea tööriistade abil saame kõik PNG- ja JPG-pildid Tumblri ajaveebist partii alla laadida:

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

Sel juhul,

cut

ja

grep

koguda teavet failinimede kohta ja vormindada see nii, et kuvatakse ainult määratud laienditega failid. Kui käivitate käsu ilma viimase toruta:

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

näete lihtsalt meie kriteeriumidele vastavate failide loendit, kuid neid ei laadita tegelikult alla. cURL saab piltide loendi erinevatelt lehtedelt, tingimusel et ajaveeb kasutab tavalist lehekülge.

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

Vahemikku saate muuta, muutes nurksulgudes olevaid numbreid. Jällegi loetleks see käsk ainult pilte; nende allalaadimiseks käivitage täielik käsk kataloogis, kuhu soovite pildid salvestada:

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

Kui olete hästi kursis regulaaravaldised , saate parandada selle käsu välimust ja tõhusust ning jagada tulemust kommentaarides.

3. Failide haldamine FTP -serveris

Tänapäeval ei kuule me FTP -st palju, kuid see ei tähenda, et see oleks vananenud. Tegelikult jagavad paljud avatud lähtekoodiga projektid ja Linuxi distributsioonid oma tarkvara FTP -serverites. Kuna CURL toetab FTP -d, saate seda failide üles- ja allalaadimiseks kasutada lihtsa FTP -kliendina. FTP -serveris olevaid faile saate sirvida, avades kataloogid:

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

Alamkataloogi sisestamiseks tippige selle nimi ja seejärel kaldkriips (/).

Failide allalaadimine sarnaneb eelmises jaotises kirjeldatud HTTP allalaadimisega. Allalaadimise peatamiseks võite kasutada -o või -O ja lisada -C.

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

Kuigi cURL ei toeta rekursiivseid allalaadimisi (pidage meeles, wget seda teeb!), Saab see siiski korraga alla laadida hulga faile. Ainus tingimus on, et failinimed järgiksid mustrit. Näiteks võime alla laadida tapeedi hostimisserverist, kus kõik taustapildid on nimega „wallpaperNUMBER”:

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

Mõned FTP -serverid nõuavad enne failide allalaadimist autentimist. cURL võimaldab teil sisse logida valikuga -u (kasutaja):

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

Failid saate üles laadida ka FTP -serverisse valikuga -T (ülekanne):

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

Siin saate vahemikuna määratleda ka mitu faili. Seda funktsiooni nimetatakse mõnikord ka 'gloobinguks'. Kui failinimed ei järgi mustrit, loetlege need lihtsalt sulgudes (

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

). Ja vastupidi, kui neil on sarnased nimed, rakendage sama loogikat Tumblri allalaadimise näites ja kasutage nurksulge (

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

). Sisestage kindlasti failide täielik tee, kui need pole teie praeguses kataloogis.

4. Kontrollige, kas veebisait on maas

Me kõik oleme seal olnud. Kindlasti vajalik veebisait lakkab ootamatult töötamast. Siis ei laadita Facebooki. Mida teha, kui olete silmitsi tõelise esimese maailma probleemiga?

Võite seda Google'is otsida, paluda sõbral seda teie jaoks testida või kasutada ühte neist üksikutest saitidest, mis annavad teile teada, kas veebisait on maas. Või võite lihtsalt terminali käivitada ja käivitada CURL:

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

Suurtähe I lüliti (-I) kontrollib veebilehe HTTP -päist ja lisatakse valik -L (asukoht), et muuta cURL -i ümbersuunamised. See tähendab, et te ei pea sisestama täielikku Facebooki URL -i; lihtsalt kirjuta facebook.com ja cURL hoolitseb ülejäänu eest tänu -L -le. Kui on ümbersuunamisi, kuvatakse need koos oma HTTP -olekuga.

Sõnum, mis meid huvitab, on „200 OK”, mis tähendab, et veebisaidiga on kõik korras. Kui see on tõesti maas, näete midagi sellist:

HTTP olekukoodid on ainult nii informatiivsed, kui teie arusaam neist võimaldab. See meetod ei ole täiesti usaldusväärne, kuna veebisait võib tagastada olekukoodi, mis näitab edukalt töödeldud taotlust, kuid see on brauseris avamisel tühi. Siiski peaks see enamikul juhtudel vastama tegelikule olukorrale ja andma teile teada, mis on üleval või alla.

5. Laiendage lühendatud URL -e

Lühendatud URL -id pole oma olemuselt halvad. Ilma nendeta oleks raske jagada linke Twitteris ja teistes piiratud iseloomuga suhtlusvõrgustikes. Mõned URL -i lühendamise teenused pakuvad ka kasulikku analüüsi. Kuid alati on oht, et keegi üritab peita pahatahtlikku sisu lühendatud URL -i taha või et troll maskeerib Rickrolli (või midagi palju -palju hullemat). Kui tunnete end mingil põhjusel kahtlustavat lühendatud URL -i, aitab cURL seda laiendada ja teada saada, kuhu see täpselt viib:

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

või

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

CURL -i saate kombineerida

grep

või

sed

; peamine erinevus on vormingus. Sed on üks neist tööriistadest, mida iga Linuxi kasutaja peaks teadma ning see täiendab cURL -i nii sellel kui ka mõnel muul juhul. Ärgem unustagem, et cURL saab faile alla laadida lühendatud URL -ilt (eeldusel, et URL viitab tegelikult failile):

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

Süntaks on sama mis teiste cURL -i allalaadimiste puhul ja valik -L hoolitseb ümbersuunamise eest lühendatud URL -ilt algsesse.

6. Näidake oma tunnustust ASCII art

Tuleb tunnistada, et see pole eriti kasulik, kuid tundub lahe. Abiga

pv

, utiliit andmete edenemise jälgimiseks, saab cURL terminalis kuvada ASCII animatsioone.

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

Suvandid -ja -q hoiavad mõlemad käsud vaikses (vaikses) režiimis. Valik -L viitab siin käsule pv ja võimaldab muuta andmeedastuskiirust baitides sekundis. Teisisõnu, kui animatsioon liigub liiga kiiresti või liiga aeglaselt, proovige selle numbriga mängida. Lisaks animatsioonidele saab cURL kuvada tavalist, staatilist ASCII kunsti:

Veebis on palju veebisaite, kus on igasugust ASCII kunsti: hämmastavalt üksikasjalikest ja kvaliteetsetest tükkidest kuni veidrate, tobedate ja isegi NSFW materjalideni. See digitaalne kunstitehnika pärineb 1960ndatest aastatest ja täna on see osa Interneti kultuurist ja ajaloost, mida hoitakse elus arvukates kogudes ja tööriistades, mis võimaldavad teil teisendada tekst ja pildid ASCII kunstiks . Saate seda kasutada terminali kaunistamiseks või sõprade jantimiseks - mis iganes teie paadiga hõljub.

7. Katsetage sotsiaalmeediaga

Sotsiaalmeedia kasutamine terminalist pole midagi uut-oleme juba näidanud teile Linuxi jaoks käsurea Twitteri kliente. Kuigi te tõenäoliselt ei lülitu veebipõhiseks suhtlusvahendiks CURL -ile, on hea teada, et saate sellega Facebooki postitada, nagu siin kirjeldatud. Märkate, et tehniliselt ei tee CURL seda iseseisvalt; tööriistade kombinatsioon saab töö tehtud.

Mis puutub Twitterisse, siis varem oli seda võimalik hallata otse terminalist cURL -iga. Siis muutis Twitter oma API -d ja nüüd on Twitterile spetsiaalne cURL -klient Twurl. Seda ei ole kõige lihtsam kasutada, eriti algaja jaoks, ja see nõuab autentimist Twitteri reklaamiplatvormiga. See on mõistlik, kui olete arendaja või edasijõudnud kasutaja, kuid mitte nii palju, kui soovite lihtsalt käsurealt säutsuda. Sellegipoolest on Twitteriga lõbutsemiseks võimalusi. CURL -i abil saate kontrollida kasutaja jälgijate arvu.

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

8. Leidke oma väline IP -aadress

Kohaliku IP -aadressi leidmine on piisavalt lihtne - lihtsalt käivitage

hiire topeltklõps ühe klõpsuga
ifconfig

või vaadake oma võrguhalduse apletti. Välise IP jaoks kasutab enamik inimesi selle teabe saamiseks spetsiaalseid veebisaite. Siiski on mõningaid asju terminalist lihtsam teha ja see võib olla üks neist. Samuti saate luua käsu cURL varjunime. CURLiga teevad koostööd mitmed võrguteenused:

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

Mõned võivad teile rohkem teada anda mis tahes välise IP -aadressi kohta:

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

Kõik, mida pead tegema, on valida teenus. Kui olete otsustamatu, lisage need kõik varjunimena varjunimesse.

9. Kleepige tekst ja jagage pilte

Töövoo katkestamine ei ole kunagi kasulik tootlikkusele ja keskendumisele. Kui teete suurema osa oma tööst terminalis, võib mõne faili jagamiseks brauserile üleminek olla ebapraktiline, kui mitte tüütu. Õnneks sündisid mõned pastebini ja failide jagamise teenused cURL -iga töötamiseks, nii et saate neid kasutada otse terminalist ilma kasutajakontota.

Clbin ja Sprunge.us on sarnane süntaks. Clbini abil suunate kohaliku faili või käsu väljundi ja see tagastab lingi teie üleslaaditud tekstile:

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

See toetab ka piltide üleslaadimist (PNG, JPG ja GIF):

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

Kui soovite selle asemel Sprunge.us -i kasutada, tippige:

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

Sprunge.us ei toeta praegu piltide üleslaadimist.

Ix.io põhineb samal põhimõttel nagu kaks eelmist teenust, millel on mõned lisafunktsioonid. Faili üleslaadimiseks tippige:

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

või

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

Kui saate lingi üleslaaditud tekstile, saate selle URL -i muuta, et kuvada süntaksi esiletõstmine (koos

ix.io/yourpaste+

,

ix.io/yourpaste/

või

ix.io/yourpaste/language

konkreetse skriptimise või programmeerimiskeele jaoks). Samuti on võimalik piirata, mitu korda linki saab vaadata, muutes numbrit pärast

'read:1'

väärtus:

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

Ix.io on mõeldud peamiselt tekstipõhistele failidele, näiteks lähtekoodile või süsteemilogidele. Kui soovite üles laadida erinevaid failivorminguid, kasutage Transfer.sh . See toetab pilte, failide krüptimist ja hoiab teie faile võrgus kaks nädalat. Saate saidile Transfer.sh üles laadida kuni 5 GB andmeid. Selleks toimige järgmiselt.

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

Saate vabalt määrata üleslaaditud faili nime. Mitme faili üleslaadimiseks loetlege need üksteise järel valikuga -F:

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

10. Märkige GMaili lugemata kirjad

Kui soovite süveneda e-postiga seotud protokollide (SMTP, POP, IMAP) üksikasjadesse, on cURL-is tohutu potentsiaal avada. Kiireks e -posti kontrollimiseks sobib see käsk. See analüüsib teie GMaili voogu ja vormindab väljundi (e -kirja teema ja saatja)

tr

,

awk

,

sed

ja/või

grep

käske. Pange tähele, et see lahendus on äärmiselt ohtlik, kuna see paljastab teie sisselogimisandmed kõigile, kellel on juurdepääs teie terminalile. Esimene versioon näitab saatja nime, teine ​​aga ainult lugemata e -posti teemasid:


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'

Mida saab CURL veel teha?

cURL -i kasutatakse iseseisva käsuna harva. Enamik inimesi kasutab seda skripti või rakenduse osana. Sellegipoolest on võimalik luua praktilisi ühevooderdusi koos CURL-iga, nagu oleme siin näidanud. Paljud neist näidetest on kohandatud CommandLineFu-st, mis on fantastiline nutikate käsurea häkkerite allikas, ja te ei tohiks neid kivisse raiuda.

Piisavate teadmiste ja kogemuste olemasolul saame iga käsku muuta, vormindada erinevalt või täielikult parema lahendusega asendada. Kas saate parandada meie soovitatud CURL -käske? Kas teate muid CURLi lahedaid kasutusviise? Jagage oma näpunäiteid kommentaarides.

Pildi autorid: Sissejuhatus käsureale autor Osama Khalid Flickri kaudu.

Jaga Jaga Piiksuma E -post Kustutage need Windowsi failid ja kaustad kettaruumi vabastamiseks

Kas vajate Windowsi arvutis kettaruumi tühjendamist? Siin on Windowsi failid ja kaustad, mida saab kettaruumi vabastamiseks turvaliselt kustutada.

Loe edasi
Seotud teemad
  • Linux
  • FTP
  • Laadige alla haldus
  • Terminal
Autori kohta Ivana Isadora Devcic(Avaldatud 24 artiklit)

Ivana Isadora on vabakutseline kirjanik ja tõlkija, Linuxi armastaja ja KDE fangirl. Ta toetab ja edendab tasuta ja avatud lähtekoodiga tarkvara ning otsib alati värskeid ja uuenduslikke rakendusi. Uurige, kuidas ühendust võtta siin .

Rohkem Ivana Isadora Devcicilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin