A cURL használata távoli fájlok letöltéséhez a parancssorból

Tartalomjegyzék:

Anonim

A hatékony curl parancssori eszközzel szinte bármilyen távoli szerverről letölthet fájlokat. A hosszú ideig tartó parancssori felhasználók tudják, hogy ez sokféle helyzetben hasznos lehet, de az egyszerűség kedvéért sokan azt fogják tapasztalni, hogy a curl funkcióval ellátott fájlok letöltése gyakran gyorsabb alternatíva lehet a webböngésző vagy az FTP kliens GUI oldaláról történő használata helyett. Mac OS X (vagy linux).Ez helyi helyzetekben hasznos, de különösen akkor hasznos, ha olyan helyzetben van, hogy le kell töltenie valamit egy távoli Mac-re, amikor SSH-n keresztül csatlakozik.

Ebben az áttekintésben elsősorban a két gyakran előforduló HTTP és SFTP protokoll fájlok letöltésére összpontosítunk, bár meg kell jegyezni, hogy a cURL sokkal több protokollt támogat. Bár a curl használata egyszerű, a parancssor ismerete ajánlott.

Pontos egyezésű fájlok letöltése curl -O

A nagybetűs -O kapcsoló használata curl mellett letölti a fájlt a távoli szerverről a pontos fájlnév megőrzése mellett, ennek alapvető szintaxisa a következő:

göndör -O

Ez azt jelenti, hogy ha a megadott URL-fájl neve „sample.zip”, akkor a „sample.zip” fájlnévvel fog letölteni, ha pedig a fájl neve valami hatalmas és bonyolult, például „LongExampleFileNameForOSXDaily-v- 1-3-51-revision-515b12-readme.txt” fájlt a távoli szerveren, akkor pontosan ezzel a névvel menti el a helyi gépen. A hosszabb fájlneveket gyakran jobb az -o jelzővel kezelni, mint az -O kapcsolóval, amellyel hamarosan foglalkozunk.

A rendszeres olvasók emlékezhetnek arra, hogy a curl -O parancsot használtuk, amikor elmagyaráztuk, hogyan lehet kivonni a tényleges hangtartalmat egy m3u streaming fájlból.

Bármely letöltés curl-el kezdődően megmutatja az átvitt százalékot, a letöltéssel töltött időt és a hátralévő időt, valamint az átviteli sebességet.

A képernyőkép jobb ábrázolást nyújt, mint az alábbi beillesztett példa, de valahogy így néz ki:

% Összesen % Fogadott % Xferd Átlagsebesség Idő Idő Idő Aktuális letöltés Feltöltés Teljes elköltött bal sebesség 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142k

Az átviteli sebesség megjelenítésével átirányíthatja a curl kimenetét a /dev/null könyvtárba, és ezzel tesztelheti az internetkapcsolat sebességét, de a wget parancsnak könnyebben olvasható és követhető átviteli sávja van, így a wget jobb alkalmas arra a feladatra.

Távoli fájl mentése más néven curl -o

A kisbetűs -o jelző használata lehetővé teszi, hogy más fájlnevet adjon meg a letöltött fájlnak, mint a távoli szerveren. Ez hasznos lehet a hosszú fájlnevek csökkentésében, vagy egyszerűen felcímkézhet valamit, hogy könnyebben megtalálhassa őket. Az általános szintaxis a következő lenne:

curl -o

Ha például el szeretne menteni egy iOS IPSW-fájlt, amelyet az Apple szerverein talált a listán a hosszadalmas teljes név nélkül, használhatja a következőket:

curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5, 3_7.0.4_11B554a_Restore.

Ez letölti az „iPhone5, 3_7.0.4_11B554a_Restore.ipsw” fájlt, de rövidebb, mint a jelentésesebb „iPhone5C-704.ipsw”.

Ha nem szeretné a fájlt a jelenlegi munkakönyvtárba menteni, adjon meg egy elérési utat a fájlnév részeként, például:

curl -o ~/Desktop/localexample.dmg http://url-to-file/example.dmg

Több fájl letöltése egyidejűleg a curl-lel

A cURL egyszerűen több fájlt is letölthet egyszerre, mindössze egynél több URL-t kell megadnia, például:

göndör -O

Különböző nevű vagy különböző szervereken tárolt vagy különböző könyvtárútvonalakon lévő fájlok esetén használja a teljes URL-t, például:

curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ Licenses/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt

Ha viszont a letöltendő fájlnevek növekményes elnevezést használnak, akkor a zárójelben megadhatja a letöltési tartományt, például:

curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1.txt

Ez egyszerre fogja meg az fdl-1.1.txt, fd1-1.2.txt és fd1-1.3.txt fájlokat anélkül, hogy minden egyedi URL-címet meg kellene adnia. Természetesen ez csak akkor működik, ha a fájlok ugyanabban a könyvtárban és ugyanabban a tartományban vannak.

Hitelesítés göndörítéssel

A hitelesítést a cURL-lel is átadhatja az -u jelzővel:

curl -u user:pass -O ftp://remote_url/file-to-download.zip

Ne feledje, hogy a bash történelem egyszerű szövegben tárolja a jelszót, ha az -u kapcsolót felhasználónévvel és jelszóval használja, ezért ez a legtöbb esetben nem ajánlott. Ezt megkerülheti, ha szóközt helyez a „göndör” elé.Ha nem használja a szóköz billentyűt a parancs előtagjaként, a biztonság kedvéért utólag valószínűleg ki kell ürítenie a parancselőzményeket.

Támogatott curl protokollok és használat HTTP-n és FTP-n túl

Amint azt korábban említettük, a cURL-használat messze túlmutat a HTTP-n és az FTP-n, mivel a curl kézi oldal bejegyzése további protokollokat említ a leírásban:

Emellett azt is láthatja, hogy a curl használható PUT- és POST-kérésekre, cookie-kra, proxykra, alagutakra, letöltések folytatására, sőt HTTP-fejléc-információk megszerzésére vagy felhasználói ügynök módosítására is (valójában hamisítás). dedikált webböngésző használata nélkül.

A legtöbb parancssori segédprogramhoz hasonlóan sokkal többet megtudhat a curl-ről, ha megidézi a megfelelő man old alt a „man curl” paranccsal.

A cURL használata távoli fájlok letöltéséhez a parancssorból