Како користити команду Цурл у Линуку

Опсежан водич који објашњава употребу команде цурл за преузимање веб страница и преузимање датотека директно са вашег терминала

Тхе цурл команда је још један занимљив услужни програм командне линије који вам Линук може понудити. цурл команда омогућава кориснику да преузме датотеке са сервера.

цурл је популаран избор програмера апликација и честих корисника Линук-а због своје подршке за бројне протоколе као што су РТМП, РТСП, СЦП, СФТП, СМБ, СМБС, СМТП, СМТПС, ТЕЛНЕТ, ХТТП, ХТТПС, ФТП, ФТПС, ИМАП, ИМАПС, ДИЦТ, ФИЛЕ, ГОПХЕР, ЛДАП, ЛДАПС, ПОП3, ПОП3С, итд.

цурл команда ради много више од самог преузимања веб страница за вас. Познавање опција доступних са овом командом чини је разноврснијом за вашу употребу. Хајде да заронимо у туторијал да бисмо стекли добро разумевање употребе цурл команду користећи неке кратке примере.

Инсталација

Пре употребе цурл команду, проверите да ли је већ инсталирана на вашем систему. Користите команду цурл --верзија да провери да ли цурл је инсталиран.

У случају да цурл није инсталиран, користите следеће кораке.

На Убунту и Дебиан системима, користити:

судо апт-гет упдате
судо апт-гет инсталл цурл

На РХЕЛ, ЦентОс и Федора дистрибуцијама, користити:

судо иум инсталл цурл

Сада користите цурл --верзија команду да бисте били сигурни да је правилно инсталиран.

цурл --верзија

Излаз:

цурл 7.58.0 (к86_64-пц-линук-гну) либцурл/7.58.0 ОпенССЛ/1.1.1 злиб/1.2.11 либидн2/2.0.4 либпсл/0.19.1 (+либидн2/2.0.1) нг02/ 0 либртмп/2.3 Датум издавања: 2018-01-24 Протоколи: дицт фајл фтп фтпс гопхер хттп хттпс имап имапс лдап лдапс поп3 поп3с ртмп ртсп смб смбс смтп смтпс ​​телнет тфтп телнет тфтп Карактеристике: АсинцхНТБСЛНТПСКерфел ИДН АсинцхНТСБ6НТЛМ СПГЕ либз ТЛС-СРП ХТТП2 УникСоцкетс ХТТПС-прокси ПСЛ гаурав@убунту:~$ 

Сада смо спремни да користимо цурл команда.

Опције доступне са ЦУРЛ командом

Хајде да прво бацимо поглед на неке од истакнутих опција које су доступне са цурл команда.

ОпцијаОпис
за преузимање датотека са ФТП сервера
да бисте наставили прекинуто преузимање
да сачувате резултат цурл команду са унапред дефинисаним именом датотеке
да бисте добили ХТТП заглавља дефинисане УРЛ адресе
да сачувате резултат цурл команду са оригиналним именом датотеке
--либцурлза излаз Ц изворног кода који користи либцурл за наведену опцију
-Иксда користите прокси за приступ УРЛ адреси
-#да бисте приказали траку напретка за приказ статуса преузимања

Преузимање веб странице помоћу ЦУРЛ-а

Тхе цурл команда, када се користи без икакве опције, преузима садржај УРЛ адресе наведене у команди.

Синтакса:

цурл [УРЛ]

Пример:

цурл //аллтхингс.хов

Излаз:

гаурав@убунту:~$ цурл //аллтхингс.хов хтмл{оверфлов-к:хидден!импортант}хтмл.и-ампхтмл-фие{хеигхт:100%!импортант;видтх:100%!импортант}хтмл:нот([амп4адс ]),хтмл:нот([амп4адс]) боди{хеигхт:ауто!импортант}хтмл:нот([амп4адс]) боди{маргин:0!импортант}боди{-вебкит-тект-сизе-адјуст:100%;- моз-тект-сизе-адјуст:100%;-мс-тект-сизе-адјуст:100%;тект-сизе-адјуст:100%}хтмл.и-ампхтмл-сингледоц.и-ампхтмл-ембеддед{-мс-тоуцх -ацтион:пан-и;тоуцх-ацтион:пан-и}хтмл.и-ампхтмл-фие>боди,хтмл.и-ампхтмл-сингледоц>боди{оверфлов:висибле!импортант}хтмл.и-ампхтмл-фие:нот (.и-ампхтмл-инабок)>боди,хтмл.и-ампхтмл-сингледоц:нот(.и-ампхтмл-инабок)>боди{поситион:релативе!импортант}хтмл.и-ампхтмл-вебвиев>боди{оверфлов-к :хидден!импортант;оверфлов-и:висибле!импортант;мин-хеигхт:100вх!импортант}хтмл.и-ампхтмл-иос-ембед-легаци>боди{оверфлов-к:хидден!импортант;оверфлов-и:ауто!импортант ;поситион:абсолуте!импортант}хтмл.и-ампхтмл-иос-ембед{оверфлов-и:ауто!импортант;поситион:статиц}#и-ампхтмл-враппер{оверфлов-к:хидден!импортант;овер флов-и:ауто!импортант;поситион:апсолуте!импортант;топ:0!импортант;лефт:0!импортант;десно:0!импортант;боттом:0!импортант;маргин:0!импортант;дисплаи:блоцк!импортант} хтмл.и-ампхтмл-иос-ембед.и-ампхтмл-иос-оверсцролл,хтмл.и-ампхтмл-иос-ембед.и-ампхтмл-иос-оверсцролл>#и-ампхтмл-враппер{-вебкит-оверфлов-сцроллинг: тоуцх!импортант}#и-ампхтмл-враппер>боди{поситион:релативе!импортант;бордер-топ:1пк солид транспарент!импортант}#и-ампхтмл-враппер+боди{висибилити:висибле}#и-ампхтмл-враппер+боди .и-ампхтмл-лигхтбок-елемент,#и-ампхтмл-враппер+боди[и-ампхтмл-лигхтбок]{висибилити:хидден}#и-ампхтмл-враппер+боди[и-ампхтмл-лигхтбок] .и-ампхтмл-лигхтбок -елемент{висибилити:висибле}#и-ампхтмл-враппер.и-ампхтмл-сцролл-дисаблед,.и-ампхтмл-сцролл-дисаблед{оверфлов-к:хидден!импортант;оверфлов-и:хидден!импортант}амп-инстаграм {паддинг:54пк 0пк 0пк!импортант;бацкгроунд-цолор:#ффф}амп-ифраме ифраме{бок-сизинг:бордер-бок!импортант}[амп-аццесс][амп-аццесс-хиде]{дисплаи:ноне}[претплате -диалог],боди:нот(.и-ампхтмл-с убс-реади) [субсцриптионс-ацтион],боди:нот(.и-ампхтмл-субс-реади) [субсцриптионс-сецтион]{дисплаи:ноне!импортант}амп-екперимент,амп-ливе-лист>[упдате]{дисплаи :ноне}.и-ампхтмл-јанк-метер{поситион:фикед;бацкгроунд-цолор:ргба(232,72,95,0.5);боттом:0;ригхт:0;цолор:#ффф;фонт-сизе:16пк; з-индек:1000;паддинг:5пк}амп-лист[ресизабле-цхилдрен]>.и-ампхтмл-лоадинг-цонтаинер.амп-хидден{дисплаи:ноне!импортант}амп-лист [фетцх-еррор],амп-лист [учитај-више] [дугме-више-учитај],амп-листа[учитај-још] [учитај-још-крај],амп-лист[учитај-још] [учитај-још-неуспешно],амп-лист[учитај -више] [лоад-море-лоадинг]{дисплаи:ноне}амп-лист[диффабле] див[роле=лист]{дисплаи:блоцк}амп-стори-паге,амп-стори[самостално]{мин-хеигхт:1пк !импортант;дисплаи:блоцк!импортант;хеигхт:100%!импортант;маргин:0!импортант;паддинг:0!импортант;оверфлов:хидден!импортант;видтх:100%!импортант}амп-стори[самостална]{бацкгроунд- цолор:#202125!импортант;поситион:релативе!импортант}амп-стори-паге{бацкгроунд-цолор:#757575}амп-стори .амп-ацтиве>див,амп-стори .и-ампхтм л-лоадер-бацкгроунд{дисплаи:ноне!импортант}амп-стори-паге:нот(:фирст-оф-типе):нот([удаљеност]):нот([активан]){трансформ:транслатеИ(1000вх)!важно }амп-аутоцомплете{поситион:релативе!импортант;дисплаи:инлине-блоцк!импортант}амп-аутоцомплете>инпут,амп-аутоцомплете>тектареа{паддинг:0.5рем;бордер:1пк солид ргба(0,0,0,0.33) }.и-ампхтмл-аутоцомплете-ресултс,амп-аутоцомплете>инпут,амп-аутоцомплете>тектареа{фонт-сизе:1рем;лине-хеигхт:1.5рем}[амп-фк^=фли-ин]{висибилити:хидден} амп-сцрипт[нодом]{поситион:фикед!импортант;топ:0!импортант;видтх:1пк!импортант;хеигхт:1пк!импортант;оверфлов:хидден!импортант;висибилити:хидден} 

Овде се садржај веб странице преузима директно на ваш терминал као изворни код.

Можете користити опције и са цурл команду за складиштење овог садржаја у датотеку.

Када Ако се користи опција, садржај УРЛ-а се чува у вашем тренутном директоријуму са корисничким именом датотеке.

Синтакса:

цурл -о [усердефинед_филенаме] [УРЛ]

Пример:

гаурав@убунту:~/воркспаце$ цурл -о атх.хтмл //аллтхингс.хов % Укупно % примљених % Ксферд Просечна брзина Време Време Тренутно преузимање Учитавање Укупна потрошена преостала брзина 100 199к 100 199к 0 0 58743 0 0:00:03 0:00:03 --:--:-- 58743 гаурав@убунту:~/воркспаце$ лс атх.хтмл гаурав@убунту:~/воркспаце$ 

У овом примеру, садржај са УРЛ адресе „аллтхингс.хов“ је сачуван као ХТМЛ датотека под називом атх.хтмл у мом тренутном радном директоријуму. Када отворим ову ХТМЛ датотеку, бићем преусмерен на веб страницу која је сачувана.

Преузимање датотека помоћу ЦУРЛ команде

Помоћу опција са командом цурл такође чува садржај или веб страницу или пакет који се може преузети као датотеку, али чува ову датотеку под њеним оригиналним именом.

Погледајмо ово кроз пример:

Пример:

Овде сам користио цурл команда са опција за преузимање Убунту пакета под називом „цхерритрее_0.37.6-1.1_алл.деб‘ из складишта Убунту пакета.

гаурав@убунту:~/воркспаце$ цурл -О //кр.арцхиве.убунту.цом/убунту/поол/универсе/ц/цхерритрее/цхерритрее_0.37.6-1.1_алл.деб % Укупно % примљених % Ксферд Просечна брзина Време Време Време Тренутно преузимање Отпремање Укупна потрошена преостала брзина 100 613к 100 613к 0 0 220к 0 0:00:02 0:00:02 --:--:-- 220к гаурав@убунту:~/воркспаце$

Излаз:

тринити@убунту:~/воркспаце$ лс атх.хтмл цхерритрее_0.37.6-1.1_алл.деб тринити@убунту:~/воркспаце$

Дакле, пакет је сада преузет и сачуван у тренутном радном директоријуму (ЦВД) са својим оригиналним именом.

Приказ траке напретка током преузимања датотеке

Постоји још једна естетска модификација која је доступна током коришћења цурл команду за преузимање датотеке. Можете да видите напредак преузимања датотеке у облику траке напретка на вашем терминалу. Само треба да додате -# опцију са вашом командом за преузимање датотеке.

Хајде да видимо пример овог подешавања.

Синтакса:

цурл -# -О [УРЛ]

Пример:

гаурав@убунту:~/воркспаце$ цурл -# -О //арцхиве.убунту.цом/убунту/поол/маин/е/емацс-дефаултс/емацс-дефаултс_47.0.тар.кз ######### ################################################### ################################################### ################################### 100,0% гаурав@убунту:~/воркспаце$ 

Излаз:

гаурав@убунту:~/воркспаце$ лс атх.хтмл цхерритрее_0.37.6-1.1_алл.деб емацс-дефаултс_47.0.тар.кз гаурав@убунту:~/воркспаце$ 

У овом излазу можете приметити да сам преузео пакет под називом „емацс-дефаултс_47.0.тар.кз„ у мом ЦВД-у и трака напретка се приказује на терминалу док је преузимање у току.

Наставак прекинутог преузимања у ЦУРЛ-у

Много пута може доћи до ситуације у којој морате да преузмете датотеке веће величине. Понекад због неких разлога као што су нестанак струје или квар мреже, преузимање може прекинути усред процеса без преузимања комплетне датотеке. Чак и ако притиснете Цтрл+Ц у терминалу, процес се прекида.

Тхе цурл команду када се користи са опција наставља прекинуто преузимање.

Синтакса:

цурл -Ц - -О [УРЛ]

Пример:

На овој илустрацији, покушао сам да преузмем Убунту 20.04 ИСО слику са Убунту веб локације.

гаурав@убунту:~/воркспаце$ цурл -О //релеасес.убунту.цом/20.04.1/убунту-20.04.1-десктоп-амд64.исо?_га=2.212264532.1184373179.160025079.160025079.1600250794 Брзина %веда14090 %1600250794 Време Време Време Тренутно Пребацивање Учитавање Укупна потрошена преостала брзина 0 2656М 0 1744к 0 0 87038 0 8:53:17 0:00:20 8:52:57 77726^Ц

Овде сам намерно прекинуо процес преузимања Цтрл+Ц.

Сада ћу користити опција са цурл команду за наставак прекинутог преузимања са исте изворне веб локације.

Излаз:

гаурав@убунту:~/воркспаце$ цурл -Ц - -О //релеасес.убунту.цом/20.04.1/убунту-20.04.1-десктоп-амд64.исо?_га=2.212264532.1184373179.1602.1750 Рез. позиција бајта 1851392 % Укупно % примљених % Ксферд Просечна Брзина Време Време Време Тренутно Пребацивање Учитавање Укупна потрошена преостала брзина 0 2654М 0 20.2М 0 0 57940 0 13:20:35 0:06:06 13:14:28

Преузимање је преузето са места где је прекинуто.

Преузимање датотека са ФТП сервера користећи ЦУРЛ

Прилично је лако са цурл наредба за преузимање датотеке са ФТП сервера помоћу опција. Морате да унесете корисничко име и лозинку у команду пре него што унесете УРЛ.

Синтакса:

цурл -у [корисничко име]:[лозинка] [УРЛ]

За илустрацију, користићу јавни ФТП на мрежи.

Пример:

гаурав@убунту:~/воркспаце$ цурл -О -у длпусер@длптест.цом:еУј8ГеВ55СвИасвкУиДСм5в6Н фтп://фтп.длптест.цом/16-Сеп-20-16-0-0.цсв % Укупно % примљених % Ксфер Брзина Време Време Време Тренутно Пребацивање Учитавање Укупна потрошена преостала брзина 100 390 100 390 0 0 93 0 0:00:04 0:00:04 --:--:-- 93 гаурав@убунту:~/воркспаце$

Овде сам преузео датотеку под називом „16-Сеп-20-16-0-0.цсв’ са овог фтп сервера и сачувао га са оригиналним именом у мој ЦВД. Проверићу преузету датотеку помоћу лс команда.

гаурав@убунту:~/воркспаце$ лс -ал укупно 1092 дрвкрвкр-к 3 гаурав гаурав 4096 16. септембар 16:15 . дрвкр-кр-к 87 гаурав гаурав 266240 Сеп 16 10:22 .. -рв-р--р-- 1 гаурав гаурав 390 Сеп 16 16:15 16-Сеп-20-16-0-0.цсв -рв- р--р-- 1 гаурав гаурав 204429 Сеп 16 11:45 атх.хтмл гаурав@убунту:~/воркспаце$

Заједно преузимање више датотека помоћу ЦУРЛ-а

Преузимање више датотека одједном помоћу цурл команда је врло једноставан задатак. Само користите опција са цурл наредба слична на начин на који смо извели у горњим блоковима.

Синтакса:

цурл -О [УРЛ-1] -О [УРЛ-2] -О[УРЛ-н]

Пример:

гаурав@убунту:~/воркспаце$ цурл -О //арцхиве.убунту.цом/убунту/поол/универсе/а/аегеан/аегеан_0.15.2+дфсг-1.дебиан.тар.кз -О //арцхиве.убунту. цом/убунту/поол/маин/а/апацхе2/апацхе2_2.4.29.ориг.тар.гз % Укупно % примљених % Ксферд Просечна брзина Време Време Тренутно Длоад Уплоад Укупна потрошена преостала брзина 100 63500 100 63500 0 8 05 0 0 0 5 :01 0:00:01 --:--:-- 55458 100 8436к 100 8436к 0 0 123к 0 0:01:08 0:01:08 --:--:-- 127к гаурав@убунту:~/воркспаце $ 

У овом примеру, преузео сам два различита пакета из Убунту спремишта.

Излаз:

гаурав@убунту:~/воркспаце$ лс -ал укупно 9596 дрвкрвкр-к 3 гаурав гаурав 4096 16. септембар 16:28 . дрвкр-кр-к 87 гаурав гаурав 266240 Сеп 16 10:22 .. -рв-р--р-- 1 гаурав гаурав 390 Сеп 16 16:15 16-Сеп-20-16-0-0.цсв -рв- р--р-- 1 гаурав гаурав 63500 16. сеп 16:28 аегеан_0.15.2+дфсг-1.дебиан.тар.кз -рв-р--р-- 1 гаурав гаурав 8638793 16. сеп 16:29 апацхе.2_. ориг.тар.гз -рв-р--р-- 1 гаурав гаурав 204429 Сеп 16 11:45 атх.хтмл гаурав@убунту:~/воркспаце$ 

Два пакета се преузимају у исто време помоћу команде цурл.

Преузимање ХТТП заглавља УРЛ-а помоћу ЦУРЛ-а

Поља ХТТП заглавља било које УРЛ адресе садрже корисне информације као што су кориснички агент, тип садржаја, кодирање итд. Ове датотеке заглавља такође пружају информације о објекту који се шаље у телу поруке. Детаљи о захтеву и одговору се такође добијају из ових ХТТП заглавља.

Можете користити цурл команда са опција да добијете ова ХТТП заглавља УРЛ-а.

Синтакса:

цурл -И [УРЛ]

Пример:

гаурав@убунту:~/воркспаце$ цурл -И ввв.фирефок.цом ХТТП/1.1 200 ОК Цонтент-Типе: тект/хтмл; цхарсет=ИСО-8859-1 П3П: ЦП="Ово није П3П политика! Погледајте г.цо/п3пхелп за више информација." Датум: Среда, 16. септембар 2020. 11:17:00 ГМТ Сервер: гвс Кс-КССС-Протецтион: 0 Кс-Фраме-Опције: САМЕОРИГИН Трансфер-Енцодинг: цхункед Истиче: сре, 16. септембра 2020. 11:17:00 ГМТ Кеш- Контрола: приватни Сет-Цоокие: 1П_ЈАР=2020-09-16-11; екпирес=Пет, 16-Оцт-2020 11:17:00 ГМТ; патх=/; домаин=.гоогле.цом; Сецуре Сет-Цоокие: НИД: = 204 = СпеХТВКСкКИве6уаКИЛсПВмЦА0А-сГб94ц9јпбв067е7ухиеЈнкап6ТФЕИЕСзтвЛОЕст7КцДСБЛгГрокх1ЕМ2ИЗи2ВПВзллХ0тсвЦу-КбКиунПоПЈ6дД7оАнБ7рку30рАиО630вИм6СГ1збмГгкНЕиБ-адКсп24х7иЕоСк9ВсјрГг; екпирес=Чет, 18-Мар-2021 11:17:00 ГМТ; патх=/; домаин=.гоогле.цом; ХттпОнли гаурав@убунту:~/воркспаце$

У овом примеру сам преузео ХТТП заглавља „ввв.фирефок.цом‘.

Преузимање Ц-изворног кода помоћу ЦУРЛ-а

Користећи цурл команда са --либцурл опција може да преузме Ц изворни код. Ово нема значајну корист за лаике, али може бити од велике помоћи за системске програмере, безбедносне аналитичаре и програмере апликација.

Синтакса:

цурл [УРЛ] > име датотеке --либцурл [назив_датотеке]

Пример:

У овом примеру, преузео сам садржај УРЛ-а све ствари.како и сачувао га у датотеци под називом ги_атх.хтмл. Ц изворни код се посебно чува у извор.ц фајл.

цурл //ввв.аллтхингс.хов > ги_атх.хтмл --либцурл соурце.ц 

Излаз:

гаурав@убунту:~/воркспаце$ цурл //ввв.аллтхингс.хов > ги_атх.хтмл --либцурл соурце.ц % Укупно % примљених % Ксферд Просечна брзина Време Време Време Тренутно преузимање Учитавање Укупна потрошена преостала брзина 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 гаурав@убунту:~/воркспаце$

Хајде сада да проверимо преузете датотеке.

гаурав@убунту:~/воркспаце$ лс -ал укупно 404 дрвкрвкр-к 3 гаурав гаурав 4096 16. септембар 17:08 . дрвкр-кр-к 87 гаурав гаурав 266240 Сеп 16 10:22 .. -рв-р--р-- 1 гаурав гаурав 0 Сеп 16 17:13 ги_атх.хтмл -рв-р--р-- 1 гаурав гаурав 1535 Сеп 16 17:13 соурце.ц гаурав@убунту:~/воркспаце$

Тхе извор.ц датотека садржи изворни код. Ово се може приказати на терминалу помоћу мачка команда. Ставио сам неколико редова из излаза у блок испод.

Ц соурцегаурав@убунту:~/воркспаце$ цат соурце.ц /********* Пример кода генерисан алатом цурл командне линије ********** * Све опције цурл_еаси_сетопт() су документоване на: * //цурл.хакк.се/либцурл/ц/цурл_еаси_сетопт.хтмл ********************************* ****************************************/ #инцлуде инт маин(инт аргц, цхар *аргв[]) { ЦУРЛцоде рет; ЦУРЛ *хнд; хнд = цурл_еаси_инит(); цурл_еаси_сетопт(хнд, ЦУРЛОПТ_БУФФЕРСИЗЕ, 102400Л); цурл_еаси_сетопт(хнд, ЦУРЛОПТ_УРЛ, "//ввв.аллтхингс.хов"); цурл_еаси_сетопт(хнд, ЦУРЛОПТ_УСЕРАГЕНТ, "цурл/7.58.0"); цурл_еаси_сетопт(хнд, ЦУРЛОПТ_МАКСРЕДИРС, 50Л);

Коришћење проксија у ЦУРЛ-у за приступ УРЛ-у

Као што је речено у уводу, цурл команда подржава широк спектар протокола као што су ФТП, СМТП, ХТТПС, СОЦКС итд. Понекад коришћење прокси сервера за пренос датотека постаје важно када желите да повећате брзину преноса и заштитите свој идентитет. цурл команда се лако може користити за пренос датотека преко прокси сервера додавањем -Икс опција за то.

Пример:

цурл -к [прокси_адреса]:[порт] [УРЛ]

У горњем примеру, претпоставио сам да ваш прокси не захтева аутентификацију. У случају да прокси захтева аутентификацију да би започео пренос, можете користити следећу команду.

цурл -у [корисничко име]:[лозинка] -к [прокси_адреса]:[порт] [УРЛ]

Користећи овај једноставан метод, можемо пренети датотеке преко прокси сервера са опцијом -Икс користи се са цурл команда.

Закључак

У овом кратком туторијалу научили смо како цурл команда се показала као корисна у преузимању садржаја директно са вашег терминала. Такође смо сазнали о различитим опцијама доступним са овом командом за различите задатке.