Hanki cURLy: 10 hyödyllistä asiaa, joita voit tehdä cURL: n avulla

Hanki cURLy: 10 hyödyllistä asiaa, joita voit tehdä cURL: n avulla

Kun alamme oppia komentorivityökaluja, näemme ne yleensä yhtenä tarkoituksena. Sinulle on opetettu se





cat

tulostaa tiedoston sisällön,





ls

luettelee kaikki hakemiston kohteet ja





du

näyttää levytilan käytön. Monilla komentorivityökaluilla on kuitenkin kymmeniä vaihtoehtoja, jotka kaikki on kuvattu siististi

man

tiedostot. Jotkut heistä voivat tehdä ihmeitä yhdistettynä muihin komentoihin.



Tietenkin on kohtuutonta odottaa, että kenenkään pitäisi muistaa jokainen vaihtoehto. Tämä mielessä on hyvä päivittää ajoittain Linux -komentojen tuntemus , koska saatat löytää niille uusia käyttötarkoituksia.

Tällä kertaa keskitymme kiemura , työkalu tietojen siirtämiseen useiden Internet -protokollien, kuten HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP, ja muiden kautta.





Yksinkertaistettuna cURL suorittaa erilaisia ​​pyyntöjä asiakkaalta palvelimelle ja muodostaa yhteyden niiden välille tietyn protokollan ja siihen liittyvien menetelmien avulla. Esimerkiksi HTTP -asiakkaana cURL voi lähettää pyynnön tarkastella tai ladata sisältöä (GET -pyyntömenetelmä) tai lähettää sisältöä verkkosivuston lomakkeen kautta (POST -pyyntömenetelmä). Monet verkkosovellukset ja -palvelut mahdollistavat sen, että cURL on vuorovaikutuksessa sovellusliittymiensä kanssa (Application Programming Interface).

Koska niiden toiminnot ovat jossain määrin päällekkäisiä, cURL: ää ja wgetiä verrataan usein toisiinsa. Molemmat työkalut voivat ladata sisältöä Internetistä, mutta wget tukee rekursiivisia latauksia, verkkokaappauksia ja tuntuu yleensä yksinkertaisemmalta käyttää. Jos haluat vain ladata tiedostoja päätteestä, wget on luultavasti parempi valinta.





Toisaalta, jos tarvitset kehittyneitä HTTP -todennusmenetelmiä ja haluat ladata sekä ladata että ladata tiedostoja, kannattaa oppia cURL. Lisäksi wget tukee vain HTTP: tä (S) ja FTP: tä, kun taas cURL kattaa laajan valikoiman protokollia. Tämä tarkoittaa, että cURL voi tehdä enemmän hienoja asioita - ja tässä on kymmenen esimerkkiä sen todistamiseksi.

1. Hanki sääraportti

Jos joku käski tarkistaa sääterminaalin, voit odottaa tylsää numeroa. Ei tällä komennolla.

curl http://wttr.in/LOCATION

Tiedot saadaan CLI -sovelluksesta nimeltä me menemme , mutta jos et halua asentaa sitä, cURL voi hakea ennusteen web -käyttöliittymästään wttr.in. Tarvitaan vain sijainti, jolle haluat ennusteen. Kirjoita vain kaupungin nimi, sen lentokenttäkoodi tai nykyinen IP -osoitteesi. Uusi ominaisuus näyttää kuun vaiheiden tiedot, jos kirjoitat:

curl wttr.in/Moon

2. Lataa tiedostot ja jatka lataamista

Tiedostojen lataaminen tapahtuu yleensä selaimessa. Joskus haluat käyttää lataushallintaa; esimerkiksi kun lataat useita tiedostoja kerralla tai haluat keskeyttää lataamisen. Vaikka cURL ei ole suosittu valinta samanaikaisille latauksille (wget suositellaan sen sijaan), voit silti käyttää sitä tähän tarkoitukseen yhdistämällä sen tehokkaat vaihtoehdot (kytkimet). Ensin tarvitset suoran linkin tiedostoon. Tässä esimerkissä käytämme Linux Voice -lehden PDF -tiedostoa.

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

Iso O-kytkin (-O) saa cURL-tiedoston tallentamaan tiedoston oletustiedostonimellä (yleensä linkistä). Jos haluat tallentaa sen eri nimellä, käytä pieniä kirjaimia o ja sen jälkeen uutta nimeä:

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

Oletusarvoisesti tiedostot tallennetaan nykyiseen hakemistoon (tarkista se

pwd

komento). Jos haluat tallentaa ne muualle, anna polku -o -kytkimen jälkeen. -C - kytkin mahdollistaa CURL: n lataamisen jatkamisen. Keskeytät sen painamalla Ctrl+C päätelaitteessa ja jatkat suorittamalla saman latauskomennon uudelleen:

cURL näyttää latauksen edistymisen taulukkomuodossa, jossa on sarakkeita, jotka sisältävät tietoja latausnopeudesta, tiedoston kokonaiskoosta, kuluneesta ajasta ja muusta. Jos et pidä tästä, voit valita yksinkertaisemman edistymispalkin lisäämällä -# tai -edistymispalkki cURL -komentoosi.

Jos haluat ladata useita tiedostoja kerralla, lue vain linkit peräkkäin:

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

Muiden komentorivityökalujen avulla voimme ladata kaikki PNG- ja JPG-kuvat erästä Tumblr-blogista:

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

Tässä tapauksessa,

cut

ja

grep

kerätä tietoja tiedostonimistä ja muotoilla ne siten, että näytetään vain tiedostot, joilla on määritetyt laajennukset. Jos suoritat komennon ilman viimeistä putkea:

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

saat vain luettelon tiedostoistamme, jotka täyttävät kriteerimme, mutta niitä ei itse asiassa ladata. cURL voi hakea luettelon eri sivujen kuvista, jos blogi käyttää vakio sivutusta:

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

Voit muokata aluetta muuttamalla hakasulkeissa olevia numeroita. Jälleen tämä komento luettelee vain kuvat; ladataksesi ne, suorita koko komento hakemistossa, johon haluat tallentaa kuvat:

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

Jos olet perehtynyt asiaan säännölliset lausekkeet , voit parantaa tämän komennon ulkoasua ja tehokkuutta ja jakaa tuloksen kommentteihin.

3. Hallitse tiedostoja FTP -palvelimella

Emme kuule paljon FTP: stä nykyään, mutta se ei tarkoita, että se olisi vanhentunut. Itse asiassa monet avoimen lähdekoodin projektit ja Linux -jakelut jakavat ohjelmistonsa FTP -palvelimille. Koska cURL tukee FTP: tä, voit käyttää sitä yksinkertaisena FTP -asiakasohjelmana tiedostojen lataamiseen ja lataamiseen. Voit selata FTP -palvelimen tiedostoja siirtymällä hakemistoihin:

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

Jos haluat syöttää alihakemiston, kirjoita sen nimi ja sen jälkeen vinoviiva (/).

Tiedostojen lataaminen on samanlainen kuin edellisessä osassa kuvatut HTTP -lataukset. Voit käyttää -o tai -O ja lisätä -C -jos haluat keskeyttää lataamisen.

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

Vaikka cURL ei tue rekursiivisia latauksia (muista, wget ei!), Se voi silti ladata useita tiedostoja kerralla. Ainoa ehto on, että tiedostonimet noudattavat kaavaa. Voisimme esimerkiksi ladata taustakuvan isännöintipalvelimelta, jossa kaikki taustakuvat ovat nimeltään 'wallpaperNUMBER':

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

Jotkin FTP -palvelimet vaativat todennuksen ennen tiedostojen lataamista. cURL: n avulla voit kirjautua sisään -u (käyttäjä) -vaihtoehdolla:

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

Voit myös ladata tiedostoja FTP -palvelimelle -T (siirto) -vaihtoehdolla:

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

Täällä voit myös määrittää useita tiedostoja alueena. Tätä ominaisuutta kutsutaan toisinaan `` globbingiksi ''. Jos tiedostonimet eivät noudata mallia, luettele ne vain hakasulkeissa (

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

). Päinvastoin, jos heillä on samanlaiset nimet, käytä samaa logiikkaa Tumblr -latausesimerkistä ja käytä hakasulkeita (

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

). Muista antaa koko polku tiedostoille, jos ne eivät ole nykyisessä hakemistossasi.

4. Tarkista, onko verkkosivusto poissa käytöstä

Olemme kaikki olleet siellä. Ehdottomasti tarvitsemasi verkkosivusto lakkaa yhtäkkiä toimimasta. Sitten Facebook ei lataudu. Mitä sinä teet todellisen ensimmäisen maailman ongelman edessä?

Voit Googlettaa sen, pyytää ystävääsi testaamaan sen puolestasi tai käyttää yhtä niistä yksittäispalvelusivustoista, jotka kertovat, jos verkkosivusto on poissa käytöstä. Tai voit vain käynnistää päätelaitteen ja suorittaa cURL:

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

Iso I -kytkin (-I) tarkistaa verkkosivun HTTP -otsikon, ja -L (sijainti) -vaihtoehto lisätään, jotta cURL seuraa uudelleenohjauksia. Tämä tarkoittaa, että sinun ei tarvitse kirjoittaa koko Facebook -URL -osoitetta; Kirjoita facebook.com ja cURL huolehtii lopusta -L: n ansiosta. Jos uudelleenohjauksia on, ne näytetään omaan HTTP -tilaansa.

Kiinnostunut viesti on '200 OK', mikä tarkoittaa, että kaikki on kunnossa verkkosivuston kanssa. Jos se on todella alhaalla, näet jotain tällaista:

HTTP -tilakoodit ovat vain niin informatiivisia kuin ymmärryksesi niistä sallii. Tämä menetelmä ei ole täysin luotettava, koska verkkosivusto voi palauttaa tilakoodin, joka osoittaa onnistuneesti käsitellyn pyynnön, mutta se on tyhjä, kun avaat sen selaimessa. Useimmissa tapauksissa sen pitäisi kuitenkin vastata todellista tilannetta ja kertoa, mikä on ylös- tai alaspäin.

5. Laajenna lyhennetyt URL -osoitteet

Lyhennetyt URL -osoitteet eivät ole luontaisesti huonoja. Ilman niitä linkkien jakaminen Twitterissä ja muissa merkkirajoitetuissa sosiaalisissa verkostoissa olisi vaikeaa. Jotkin URL -osoitteiden lyhennyspalvelut tarjoavat myös hyödyllistä analytiikkaa. Mutta aina on riski, että joku yrittää piilottaa haitallisen sisällön lyhennetyn URL -osoitteen taakse tai että peikko peittää Rickrollin (tai jotain paljon pahempaa). Jos sinusta tuntuu epäilyttävältä lyhennetystä URL -osoitteesta jostain syystä, cURL voi auttaa sinua laajentamaan sen ja selvittämään, mihin se johtaa:

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

tai

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

Voit yhdistää cURL: n kanssa

grep

tai

sed

; suurin ero on muotoilussa. Sed on yksi niistä työkaluista, jotka jokaisen Linux -käyttäjän pitäisi tietää, ja se täydentää cURL: ää tässä ja muutamissa muissa käyttötapauksissa. Älkäämme unohtako, että cURL voi ladata tiedostoja lyhennetystä URL -osoitteesta (edellyttäen, että URL -osoite todella osoittaa tiedostoon):

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

Syntaksi on sama kuin muiden cURL -latausten yhteydessä, ja -L -vaihtoehto huolehtii uudelleenohjauksesta lyhennetystä URL -osoitteesta alkuperäiseen.

6. Näytä arvostuksesi ASCII Art

Tämä ei tietenkään ole erityisen hyödyllistä, mutta näyttää siistiltä. Avulla

pv

, apuohjelma tietojen edistymisen seurantaan, cURL voi näyttää ASCII -animaatioita päätelaitteessa.

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

Vaihtoehdot -s ja -q pitävät molemmat komennot hiljaisessa (hiljaisessa) tilassa. Vaihtoehto -L viittaa tässä pv -komentoon ja antaa sinun muokata tiedonsiirtonopeutta tavuina sekunnissa. Toisin sanoen, jos animaatio etenee liian nopeasti tai liian hitaasti, yritä pelata sillä numerolla. Animaatioiden lisäksi cURL voi näyttää tavallista, staattista ASCII -kuvaa:

Verkossa on paljon verkkosivustoja, joissa on kaikenlaista ASCII-taidetta: hämmästyttävän yksityiskohtaisista, korkealaatuisista kappaleista outoihin, typeriin ja jopa NSFW-materiaaleihin. Tämä digitaalinen taidetekniikka juontaa juurensa 1960 -luvulle, ja nykyään se on osa Internet -kulttuuria ja -historiaa, jota pidetään hengissä lukuisissa kokoelmissa ja työkaluissa, joiden avulla voit muuntaa tekstiä ja kuvia ASCII -taiteeksi . Voit käyttää sitä koristamaan päätelaitteesi tai huijata ystäviäsi - mikä tahansa veneesi kelluu.

7. Kokeile sosiaalisen median kanssa

Sosiaalisen median käyttö terminaalista ei ole mitään uutta-olemme jo osoittaneet sinulle komentorivin Twitter-asiakkaat Linuxille. Vaikka luultavasti et vaihda CURL: iin online -seurustelutyökaluksi, on hyvä tietää, että voit lähettää sen kanssa Facebookiin, kuten tässä on kuvattu. Huomaat, että teknisesti CURL ei tee sitä itsestään; työkalujen yhdistelmä hoitaa homman.

Mitä tulee Twitteriin, sitä oli aiemmin mahdollista hallita suoraan päätelaitteesta cURL: n avulla. Sitten Twitter muutti sovellusliittymänsä, ja nyt Twitterille on erityinen cURL -asiakas nimeltä Twurl. Se ei ole helpoin käyttää, varsinkin aloittelijalle, ja se vaatii todennuksen Twitter -mainosalustalla. Tämä on järkevää, jos olet kehittäjä tai kokenut käyttäjä, mutta ei niin paljon, jos haluat vain twiittaa komentoriviltä. Silti on tapoja pitää hauskaa Twitterin kanssa. Voit tarkistaa käyttäjän seuraajamäärän cURL: n avulla:

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

8. Etsi ulkoinen IP -osoitteesi

Paikallisen IP -osoitteen löytäminen on riittävän helppoa - suorita vain

miten yhdistän puhelimen tietokoneeseen
ifconfig

tai ota yhteys verkonhallintasovelmaan. Useimmat ihmiset käyttävät ulkoisia IP -osoitteita saadakseen nämä tiedot erikoissivustoilta. Jotkut asiat on kuitenkin helpompi tehdä terminaalista, ja tämä saattaa olla yksi niistä. Voit myös luoda aliaksen cURL -komennolle. On olemassa useita online -palveluita, jotka toimivat yhteistyössä cURL: n kanssa:

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

Jotkut voivat kertoa sinulle lisää kaikista ulkoisista IP -osoitteista:

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

Sinun tarvitsee vain valita palvelu. Jos olet päättämätön, lisää ne kaikki aliakseesi varmuuskopiointiratkaisuiksi.

9. Liitä teksti ja jaa kuvia

Työnkulun rikkominen ei ole koskaan hyväksi tuottavuudelle ja keskittymiselle. Jos teet suurimman osan työstäsi terminaalissa, siirtyminen selaimeen vain muutaman tiedoston jakamiseksi voi olla epäkäytännöllistä, ellei ärsyttävää. Onneksi jotkut pastebin- ja tiedostonjakopalvelut syntyivät toimimaan cURL: n kanssa, joten voit käyttää niitä suoraan päätelaitteesta ilman käyttäjätiliä.

Clbin ja Sprunge.us on samanlainen syntaksi. Clbinin avulla voit syöttää paikallisen tiedoston tai komennon tuloksen, ja se palauttaa linkin lähettämääsi tekstiin:

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

Se tukee myös kuvien lataamista (PNG, JPG ja GIF):

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

Jos haluat käyttää Sprunge.us -sivustoa sen sijaan, kirjoita:

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

Sprunge.us ei tue kuvien lataamista toistaiseksi.

Ix.io perustuu samaan periaatteeseen kuin kaksi edellistä palvelua, ja siinä on muutamia lisäominaisuuksia. Lähetä tiedosto kirjoittamalla:

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

tai

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

Kun saat linkin ladattuun tekstiin, voit muokata sen URL -osoitetta niin, että siinä näkyy syntaksin korostus (kanssa

ix.io/yourpaste+

,

ix.io/yourpaste/

tai

ix.io/yourpaste/language

tiettyä komentosarjaa tai ohjelmointikieltä varten). On myös mahdollista rajoittaa linkin katselukertojen määrää muuttamalla numeroa

'read:1'

arvo:

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

Ix.io on tarkoitettu ensisijaisesti tekstitiedostoille, kuten lähdekoodille tai järjestelmälokeille. Jos haluat ladata erilaisia ​​tiedostomuotoja, käytä Transfer.sh . Se tukee kuvia, tiedostojen salausta ja pitää tiedostosi verkossa kahden viikon ajan. Voit ladata enintään 5 Gt dataa Transfer.sh -sivustoon. Toimi seuraavasti:

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

Voit vapaasti määrittää ladatun tiedoston nimen. Jos haluat ladata useita tiedostoja, luetteloi ne peräkkäin -F -vaihtoehdolla:

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

10. Tarkista lukemattomat viestit GMailissa

CURL voi avata valtavasti mahdollisuuksia, jos olet valmis syventymään sähköpostiin liittyvien protokollien (SMTP, POP, IMAP) yksityiskohtiin. Jos haluat tarkistaa sähköpostin nopeasti, tämä komento toimii. Se jäsentää GMail -syötteesi ja muotoilee tuloksen (sähköpostin aihe ja lähettäjä)

tr

,

awk

,

sed

ja tai

grep

komentoja. Huomaa, että tämä ratkaisu on erittäin vaarallinen, koska se paljastaa kirjautumistietosi kaikille, joilla on pääsy päätelaitteeseesi. Ensimmäinen versio näyttää lähettäjän nimen, kun taas toinen tulostaa vain lukemattomat sähköpostin aiheet:


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ä muuta CURL voi tehdä?

cURL: ää käytetään harvoin itsenäisenä komennona. Useimmat ihmiset käyttävät sitä osana skriptiä tai sovellusta. On kuitenkin mahdollista luoda käytännöllisiä yhden vuorauksia cURL: llä, kuten olemme osoittaneet täällä. Monet näistä esimerkeistä on mukautettu CommandLineFusta, joka on loistava älykkäiden komentorivin hakkeroinnin lähde, eikä sinun pitäisi pitää niitä kiveen hakattuina.

Riittävällä tietämyksellä ja kokemuksella voimme muokata jokaista komentoa, muotoilla sen eri tavalla tai korvata sen kokonaan paremmalla ratkaisulla. Voitko parantaa ehdotettuja cURL -komentojamme? Tiedätkö muita hienoja käyttötarkoituksia cURL: lle? Jaa vinkkisi kommentteihin.

Kuvaluotot: Sisällä komentorivin johdanto Osama Khalid Flickrin kautta.

Jaa Jaa Tweet Sähköposti Vapauta levytilaa poistamalla nämä Windowsin tiedostot ja kansiot

Tarvitsetko tyhjentää levytilaa Windows -tietokoneellasi? Tässä on Windows -tiedostot ja kansiot, jotka voidaan poistaa turvallisesti levytilan vapauttamiseksi.

Lue seuraava
Liittyvät aiheet
  • Linux
  • FTP
  • Latausten hallinta
  • Terminaali
Kirjailijasta Ivana Isadora Devcic(24 artikkelia julkaistu)

Ivana Isadora on freelance -kirjailija ja kääntäjä, Linux -ystävä ja KDE -fangirl. Hän tukee ja edistää ilmaisia ​​ja avoimen lähdekoodin ohjelmistoja ja etsii aina uusia, innovatiivisia sovelluksia. Ota selvää, miten voit ottaa yhteyttä tässä .

Lisää Ivana Isadora Devcicilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi