A cURL használata távoli fájlok letöltéséhez a parancssorból
Tartalomjegyzék:
- Pontos egyezésű fájlok letöltése curl -O
- Távoli fájl mentése más néven curl -o
- Több fájl letöltése egyidejűleg a curl-lel
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.