Како се користи цурл за преузимање датотека са Линук наредбеног ретка
Линук увити се
наредба може много више од преузимања датотека. Откриј шта увити се
је способан и када би требало да га користите уместо вгет
.
цурл вс. вгет: Која је разлика?
Људи се често боре да идентификују релативне снаге вгет
и увити се
команде. Команде се функционално преклапају. Сваки од њих може да преузме датотеке са удаљених локација, али ту сличност престаје.
вгет
је фантастичан алат за преузимање садржаја и датотека. Може да преузима датотеке, веб странице и директоријуме. Садржи интелигентне рутине за прелазак преко веза на веб страницама и рекурзивно преузимање садржаја на целој веб локацији. Ненадмашан је као менаџер за преузимање командне линије.
увити се
задовољава сасвим другу потребу. Да, може да преузме датотеке, али не може рекурзивно да се креће по веб локацији која тражи садржај за преузимање. Шта увити се
заправо вам омогућава да комуницирате са удаљеним системима подношењем захтева тим системима, дохватањем и приказивањем њихових одговора вама. Ти одговори могу бити садржај и датотеке веб странице, али могу садржати и податке пружене путем веб услуге или АПИ-ја као резултат „питања“ постављеног захтевом за увијање.
И увити се
није ограничен на веб локације. увити се
подржава преко 20 протокола, укључујући ХТТП, ХТТПС, СЦП, СФТП и ФТП. И несумњиво, због свог супериорног руковања Линук цевима, увити се
могу се лакше интегрисати са другим командама и скриптама.
Аутор увити се
има веб страницу која описује разлике између њих увити се
и вгет
.
Инсталирање цурл-а
Од рачунара коришћених за истраживање овог чланка, Федора 31 и Мањаро 18.1.0 су имали увити се
већ инсталиран. увити се
морао да буде инсталиран на Убунту 18.04 ЛТС. На Убунтуу покрените ову команду да бисте је инсталирали:
судо апт-гет инсталирајте цурл
Цурл верзија
Тхе --верзија
опција чиниувити се
пријавите његову верзију. Такође наводи све протоколе које подржава.
увојак --верзија
Преузимање веб странице
Ако укажемо увити се
на веб страници, преузеће је за нас.
цурл //ввв.ббц.цом
Али његова подразумевана радња је да га избаци у прозор терминала као изворни код.
Пазите: Ако не кажете увити се
ако желите да се нешто сачува као датотека, хоће увек баци га у прозор терминала. Ако је датотека коју преузима бинарна датотека, исход може бити непредвидив. Љуска може покушати да протумачи неке вредности бајтова у бинарној датотеци као контролне знакове или излазне секвенце.
Спремање података у датотеку
Рецимо цурл-у да преусмери излаз у датотеку:
цурл //ввв.ббц.цом> ббц.хтмл
Овог пута не видимо преузете информације, оне се шаљу директно у датотеку за нас. Пошто нема излаза за прозор терминала за приказ, увити се
даје скуп информација о напретку.
То није учинио у претходном примеру, јер би информације о напретку биле расуте по изворном коду веб странице, па увити се
аутоматски га потиснуо.
У овом примеру,увити се
открива да се излаз преусмерава на датотеку и да је сигурно генерисати информације о напретку.
Наведене информације су:
- % Укупно: Укупан износ који треба преузети.
- % Примљен: Проценат и стварне вредности до сада преузетих података.
- % Ксферд: Проценат и стварни број послатих података ако се подаци преносе.
- Просечна брзина учитавања: Просечна брзина преузимања.
- Отпремање просечном брзином: Просечна брзина отпремања.
- Време укупно: Процењено укупно трајање трансфера.
- Време проведено: До сада протекло време за овај трансфер.
- Преостало време: Процењено време до завршетка преноса
- Тренутна брзина: Тренутна брзина преноса за овај пренос.
Зато што смо преусмерили излаз са увити се
у датотеку, сада имамо датотеку под називом „ббц.хтмл“.
Двоструким кликом на ту датотеку отвориће се подразумевани прегледач тако да приказује преузету веб страницу.
Имајте на уму да је адреса у траци за адресу прегледача локална датотека на овом рачунару, а не удаљена веб локација.
Не морамо преусмерити излаз за стварање датотеке. Датотеку можемо створити помоћу -о
(излаз) опција и казивање увити се
да бисте креирали датотеку. Овде користимо -о
опција и пружање имена датотеке коју желимо да креирамо „ббц.хтмл.“
цурл -о ббц.хтмл //ввв.ббц.цом
Коришћење траке напретка за надгледање преузимања
Да бисте информације о преузимању засноване на тексту заменили једноставном траком напретка, користите -#
опција (трака напретка).
цурл -к -о ббц.хтмл //ввв.ббц.цом
Поновно покретање прекинутог преузимања
Лако је поново покренути прекинуто или прекинуто преузимање. Почнимо са преузимањем велике датотеке. Користићемо најновију верзију дугорочне подршке Убунту 18.04. Користимо - оутпут
опција да наведете име датотеке у коју желимо да је сачувамо: „убунту180403.исо.“
цурл --оутпут убунту18043.исо //релеасес.убунту.цом/18.04.3/убунту-18.04.3-десктоп-амд64.исо
Преузимање започиње и ради на путу ка завршетку.
Ако присилно прекинемо преузимање са Цтрл + Ц.
, враћени смо у командну линију и преузимање је напуштено.
Да бисте поново покренули преузимање, користите -Ц
(настави на) опцију. Ово изазива увити се
да поново покренете преузимање у одређеној тачки или офсет унутар циљне датотеке. Ако користите цртицу -
као офсет, увити се
погледаће већ преузети део датотеке и утврдиће тачно одступање које ће користити за себе.
цурл -Ц - --оутпут убунту18043.исо //релеасес.убунту.цом/18.04.3/убунту-18.04.3-десктоп-амд64.исо
Преузимање се поново покреће. увити се
извештава о помаку на коме се поново покреће.
Преузимање ХТТП заглавља
Са -Ја
(хеад) опција, можете да преузмете само ХТТП заглавља. То је исто као и слање команде ХТТП ХЕАД веб серверу.
цурл -И ввв.твиттер.цом
Ова наредба преузима само информације; не преузима ниједну веб страницу или датотеку.
Преузимање више УРЛ-ова
Користећи каргс
можемо да преузмемо више УРЛ-ова одједном. Можда желимо да преузмемо серију веб страница које чине један чланак или водич.
Копирајте ове УРЛ адресе у уређивач и сачувајте их у датотеци која се назива „урлс-то-довнлоад.ткт“. Можемо да користимо каргс
да третира садржај сваког ретка текстуалне датотеке као параметар којим ће се хранити увити се
, заузврат.
//туториалс.убунту.цом/туториал/туториал-цреате-а-усб-стицк-он-убунту#0 //туториалс.убунту.цом/туториал/туториал-цреате-а-усб-стицк-он-убунту#1 //туториалс.убунту.цом/туториал/туториал-цреате-а-усб-стицк-он-убунту#2 //туториалс.убунту.цом/туториал/туториал-цреате-а-усб-стицк-он-убунту#3 //туториалс.убунту.цом/туториал/туториал-цреате-а-усб-стицк-он-убунту#4 //туториалс.убунту.цом/туториал/туториал-цреате-а-усб-стицк-он-убунту#5
Ово је наредба коју морамо користити да бисмо имали каргс
проследи ове УРЛ адресе увити се
један по један:
каргс -н 1 цурл -О <урлс-то-довнлоад.ткт
Имајте на уму да ова наредба користи -О
(наредба за удаљену датотеку), која користи велико слово „О.“ Ова опција узрокује увити се
да бисте сачували преузету датотеку истог имена коју датотека има на удаљеном серверу.
Тхе -н 1
опција говори каргс
да би сваки ред текстуалне датотеке третирао као један параметар.
Када покренете команду, видећете да више преузимања започиње и завршава једно за другим.
Провера у прегледачу датотека показује да је преузето више датотека. Свака носи име које је имала на удаљеном серверу.
ПОВЕЗАН:Како се користи команда каргс на Линуку
Преузимање датотека са ФТП сервера
Користећи увити се
са ФТП (ФТП) сервером је лако, чак и ако морате да се аутентификујете помоћу корисничког имена и лозинке. Да бисте проследили корисничко име и лозинку са увити се
користити -у
(усер) и унесите корисничко име, двотачку „:“ и лозинку. Не стављајте размак пре или после дебелог црева.
Ово је бесплатни за тестирање ФТП сервер чији је домаћин Ребек. Тест ФТП локација има унапред подешено корисничко име „демо“, а лозинка је „лозинка“. Не користите ову врсту слабог корисничког имена и лозинке на продукцијском или „правом“ ФТП серверу.
цурл -у демо: лозинка фтп://тест.ребек.нет
увити се
схвата да га усмеравамо на ФТП сервер и враћа листу датотека које су присутне на серверу.
Једина датотека на овом серверу је датотека „реадме.ткт“, дужине 403 бајта. Хајде да га преузмемо. Користите исту команду као малопре, уз придодато име датотеке:
цурл -у демо: лозинка фтп://тест.ребек.нет/реадме.ткт
Датотека се преузима и увити се
приказује његов садржај у прозору терминала.
У скоро свим случајевима биће прикладније да нам се преузета датотека сачува на диску, а не да се приказује у прозору терминала. Још једном можемо користити -О
(удаљена датотека) излазна наредба за чување датотеке на диску, са истим именом датотеке које има на удаљеном серверу.
цурл -О -у демо: лозинка фтп://тест.ребек.нет/реадме.ткт
Датотека се преузима и чува на диску. Можемо да користимо лс
да бисте проверили детаље о датотеци. Има исто име као датотека на ФТП серверу и исте је дужине, 403 бајта.
лс -хл реадме.ткт
ПОВЕЗАН:Како се користи ФТП наредба на Линуку
Слање параметара на удаљене сервере
Неки удаљени сервери ће прихватити параметре у захтевима који им се шаљу. Параметри се могу користити за форматирање враћених података, на пример, или се могу користити за одабир тачних података које корисник жели да преузме. Често је могуће комуницирати са интерфејсима за програмирање веб апликација (АПИ) помоћу увити се
.
Као једноставан пример, веб локација ипифи има АПИ који се може затражити да би се утврдила ваша спољна ИП адреса.
цурл //апи.ипифи.орг
Додавањем формат
параметар наредби, са вредношћу „јсон“ можемо поново затражити нашу спољну ИП адресу, али овог пута враћени подаци ће бити кодирани у ЈСОН формату.
цурл //апи.ипифи.орг?формат=јсон
Ево још једног примера који користи Гоогле АПИ. Враћа ЈСОН објекат који описује књигу. Параметар који морате навести је Међународни стандардни број књиге (ИСБН) књиге. Можете их пронаћи на задњој корици већине књига, обично испод бар-кода. Параметар који ћемо овде користити је „0131103628.“
цурл //ввв.гооглеапис.цом/боокс/в1/волумес?к=исбн:0131103628
Враћени подаци су свеобухватни:
Понекад се увијте, Понекад згрчите
Ако бих желео да преузмем садржај са веб локације и да се структура стабла веб странице рекурзивно претражује за тај садржај, користио бих вгет
.
Ако бих желео да комуницирам са удаљеним сервером или АПИ-јем и можда преузмем неке датотеке или веб странице, користио бих увити се
. Нарочито ако је протокол био један од многих који нису подржани вгет
.