Izmantojot cURL, lai lejupielādētu attālos failus no komandrindas

Satura rādītājs:

Anonim

Jaudīgo curl komandrindas rīku var izmantot, lai lejupielādētu failus no gandrīz jebkura attālā servera. Ilgstoši komandrindas lietotāji zina, ka tas var būt noderīgi dažādās situācijās, taču, lai lietas būtu vienkāršas, daudzi atklās, ka faila lejupielāde ar curl bieži var būt ātrāka alternatīva tīmekļa pārlūkprogrammas vai FTP klienta izmantošanai no GUI puses. Mac OS X (vai Linux).Tas ir noderīgi vietējās situācijās, taču tas ir īpaši noderīgi, ja jums ir nepieciešams kaut kas lejupielādēt attālajā Mac datorā, kad ir izveidots savienojums, izmantojot SSH.

Šajā pamācībā mēs galvenokārt koncentrēsimies uz failu lejupielādi no diviem bieži sastopamiem HTTP un SFTP protokoliem, lai gan jāņem vērā, ka cURL atbalsta daudz vairāk protokolu. Lai gan curl ir viegli lietojams, ieteicams pārzināt komandrindu.

Lejupielādēt precīzas atbilstības failus ar izliekumu -O

Izmantojot lielo burtu -O karogu ar curl, fails tiek lejupielādēts no attālā servera, vienlaikus saglabājot precīzu faila nosaukumu. Pamata sintakse ir šāda:

curl -O

Tas nozīmē, ja norādītā URL faila nosaukums ir “sample.zip”, tas tiks lejupielādēts ar faila nosaukumu “sample.zip”, un, ja faila nosaukums ir milzīgs un sarežģīts, piemēram, “LongExampleFileNameForOSXDaily-v- 1-3-51-revision-515b12-readme.txt” attālajā serverī, tas tiks saglabāts ar šo precīzu nosaukumu vietējā datorā. Garākus failu nosaukumus bieži var labāk apstrādāt ar karogu -o, nevis -O, ko mēs drīzumā apskatīsim.

Pastāvīgi lasītāji var atcerēties, ka mēs izmantojām komandu curl -O, skaidrojot, kā izvilkt faktisko audio saturu no m3u straumēšanas faila.

Sākot lejupielādi ar curl, tiek parādīts pārsūtītais procents, lejupielādei pavadītais laiks un atlikušais laiks, kā arī pārsūtīšanas ātrums.

Ekrānuzņēmums piedāvā labāku attēlojumu nekā tālāk ielīmētais piemērs, taču tas izskatās apmēram šādi:

% Kopā % Saņemtie % Xferd Vidējais ātrums Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopā iztērēts Atlikušais ātrums 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142k

Kad tiek rādīts pārsūtīšanas ātrums, varat novirzīt curl izvadi uz /dev/null un izmantot to, lai pārbaudītu interneta savienojuma ātrumu, taču komandai wget ir vieglāk lasāma un vieglāk izpildāma pārsūtīšanas josla, tāpēc wget ir labāka. piemērots šim uzdevumam.

Attālā faila saglabāšana ar citu nosaukumu, izmantojot curl -o

Izmantojot karodziņu ar mazajiem burtiem -o, varēsiet norādīt lejupielādētajam failam atšķirīgu faila nosaukumu, nevis to, kā tas tiek nosaukts attālajā serverī. Tas var būt noderīgi, lai samazinātu garos failu nosaukumus vai vienkārši kaut ko iezīmētu, lai to būtu vieglāk atrast pats. Vispārējā sintakse būtu šāda:

curl -o

Piemēram, ja vēlaties saglabāt iOS IPSW failu, kuru atradāt Apple serveros bez garā pilnā nosaukuma, varat izmantot šo:

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

Tādējādi tiks lejupielādēts fails “iPhone5, 3_7.0.4_11B554a_Restore.ipsw”, taču tā nosaukums būs īsāks kā jēgpilnāks “iPhone5C-704.ipsw”.

Ja nevēlaties saglabāt failu pašreizējā darba direktorijā, norādiet ceļu kā daļu no faila nosaukuma, piemēram:

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

Vairāku failu lejupielāde vienlaikus ar curl

cURL var viegli lejupielādēt vairākus failus vienlaikus, viss, kas jums jādara, ir jānorāda vairāk nekā viens URL, piemēram:

curl -O

Failiem ar dažādiem nosaukumiem vai failiem, kas tiek mitināti dažādos serveros vai dažādos direktoriju ceļos, izmantojiet pilnu URL, piemēram:

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

No otras puses, ja lejupielādējamo failu nosaukumos tiek izmantoti pakāpeniski nosaukumi, varat izmantot iekavas, lai norādītu lejupielādes diapazonu, piemēram:

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

Tādējādi faili fdl-1.1.txt, fd1-1.2.txt un fd1-1.3.txt tiktu uztverti vienlaikus, nenorādot katru unikālo URL. Protams, tas darbojas tikai tad, ja faili atrodas vienā direktorijā kopā un vienā domēnā.

Autentifikācija ar čokurošanās palīdzību

Varat arī nodot autentifikāciju ar cURL, izmantojot karodziņu -u:

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

Ņemiet vērā, ka bash vēsture saglabās paroli vienkāršā tekstā, ja izmantosit -u ar norādītu lietotājvārdu un paroli, tāpēc tas nav ieteicams lielākajā daļā situāciju. To var apiet, novietojot atstarpi pirms “čokurošanās”.Ja neizmantojat atstarpes taustiņu, lai pievienotu komandu, droši vien pēc tam vēlēsities iztukšot komandu vēsturi.

Atbalstīti čokurošanās protokoli un lietojums ārpus HTTP un FTP

Kā minēts iepriekš, cURL lietojums ir daudz plašāks par HTTP un FTP, jo locīšanas manuālās lapas ierakstā aprakstā ir minēti papildu protokoli:

Turklāt jūs atklāsit, ka curl var izmantot arī PUT un POST pieprasījumiem, sīkfailiem, starpniekserveriem, tuneļiem, lejupielādes atsākšanai un pat HTTP galvenes informācijas iegūšanai vai lietotāja aģenta maiņai (efektīvi mānīšanai). bez nepieciešamības izmantot īpašu tīmekļa pārlūkprogrammu.

Tāpat kā lielākā daļa komandrindas utilītu, jūs varat uzzināt daudz vairāk par curl, izsaucot atbilstošo man lapu ar komandu ‘man curl’.

Izmantojot cURL, lai lejupielādētu attālos failus no komandrindas