В този урок ще разгледаме curl и wget, как да започнем и най -важното - разликите между тях.
Какво е cURL?
cURL е безплатна помощна програма за командния ред с отворен код, която позволява на потребителите да прехвърлят данни от една отдалечена машина на друга с минимално или никакво взаимодействие с потребителя. Използването на CURL е широко разпространено в устройства като рутери, принтери, телефони, таблети, медийни плейъри и др.
Той поддържа изтегляне и качване с помощта на протоколи като HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER и много, много други.
cURL също предоставя прокси сървъри, възобновяване на трансфери, удостоверяване на потребителя, SSL сертификати и много други.
Какво е wget?
GNU Wget, обикновено наричан wget, е безплатна помощна програма за командния ред за прехвърляне на файлове чрез HTTP/HTTPS, FTP и FTPS. Той предоставя функции като рекурсивно изтегляне, контрол на честотната лента, възобновява прекъснати трансфери, изтегляне на фон, рекурсивни огледални файлове и директории и много други.
Как да инсталирате cURL и Wget?
cURL и wget са популярни инструменти, лесно достъпни в големите дистрибуции на Linux; ако нямате инсталиран нито един инструмент, използвайте командите по -долу, за да инсталирате:
Debian/Ubuntu:
# инсталирайте cURLsudo apt-get installкъдрица
# инсталирайте wget
sudo apt-get install wget
Арка / Манджаро:
# инсталирайте cURLsudoпак Ман-Скъдрица
# инсталирайте wget
sudoпак Ман-С wget
REHL/CentOS/Fedora:
# инсталирайте cURLsudo yum инсталирайтекъдрица
sudodnfИнсталирайкъдрица
# инсталирайте wget
sudo yum инсталирайте wget
sudodnfИнсталирай wget
Как да използваме cURL и Wget (примерни случаи на използване)?
За да сте сигурни, че разбирате приликите и разликите между cURL и wget, добре е да разгледате няколко примера:
HTTP/HTTPS протоколи:
Както cURL, така и wget поддържат HTTP и HTTPS протоколи. Следователно, ако изтеглим уебсайт като linuxhint.com:
навийте https://linuxhint.com-илиlinuxhint.htmlнавийте https://linuxhint.com-илиlinuxhint.html
%Обща сума%Получено%Xferd Средна скорост Време Време Време Ток
Dload Качване на обща изразходвана лява скорост
100256 хиляди0256 хиляди0 0166 хил0-: -: -0: 00: 01-:-:-166k
По подразбиране cURL ще отпечата съдържанието на уеб ресурса в терминала. Използваме флага -o, за да пренасочим изхода към файл.
Следното се отнася за wget:
wgethttps://linuxhint.com--2021-06-2005:09:Четири пет- https://linuxhint.com/
Решаване на linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...
Свързване към linuxhint.com(linuxhint.com)|104.21.58.234|:443... свързан.
HTTP заявката е изпратена, чака се отговор ...200Добре
Дължина: неуточнена[текст/html]
Запазване в: „index.html“
index.html
[ <=> ]256.25K 506KB/св0,5 сек
2021 г.-06-двайсет05:09:46 (506KB/с)- „index.html“ е запазен[262396]
Wget, от друга страна, записва искания ресурс във файл.
Добре е да се отбележи, че и двата инструмента изтеглят ресурса. Подробностите за двата файла показват двата размера на файла.
$ls -наindex.html linuxhint.html-rw-rw-r-- 1linuxhint linuxhint262396Юни19 петнадесет:петдесетindex.html
-rw-rw-r-- 1linuxhint linuxhint262396Юнидвайсет05:07 linuxhint.html
FTP протокол:
Както cURL, така и wget поддържат изтегляния по FTP протоколи. Въпреки това, cURL поддържа качване във ftp.
Използвайте командата по -долу, за да изтеглите файлове от FTP сървър с wget:
wget -потребител= debian-парола= 'Debian' ftp://192.168.0.112/backup.zstwget -потребител= debian-парола='debian'ftp://192.168.0.112/backup.zst
--2021-06-2005:29: 06- ftp://192.168.0.112/backup.zst
=>„Backup.zst“
Свързване към 192.168.0.112:двадесет и едно... свързан.
Дневникв катоdebian ... Регистриранв!
==>SYST ... готово. ==>PWD ... свършено.
==>ТИП I ... готово. ==>CWD не е необходим.
==>SIZE backup.zst ... готово.
==>PASV ... готово. ==>RETR backup.zst ... готово.
backup.zst
[ <=> ] 0--.- KB/св0s
2021 г.-06-двайсет05:29: 06(0,00Б/с)- „backup.zst“ е запазен[0]
Използвайки curl, добавете-uзнаме като:
къдрица-udebian: debian ‘ftp://192.168.0.112/backup.zst '-илиbackup.zst
къдрица-udebian: debian'ftp://192.168.0.112/backup.zst' -илиbackup.zst
%Обща сума%Получено%Xferd Средна скорост Време Време Време Ток
Dload Качване на обща изразходвана лява скорост
0 0 0 0 0 0 0 0-: -: - -:: -: - -: -: -0
За да качите aфайлда сеftpс curl използваме-Tопция като:
къдрица-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/
Уверете се, че директорията съществува и потребителят има разрешения за запис в нея.
ЗАБЕЛЕЖКА: Въпреки че cURL поддържа голямо разнообразие от протоколи, той не осигурява рекурсивно изтегляне. От друга страна, Wget поддържа рекурсивни изтегляния, използвайки опцията –recursive, тъй като протоколите HTTP/HTTPS и FTP/FTPS предлагат такава функционалност.
Прилики между wget и cURL
Сега за черешката на тортата:
- И двата инструмента поддържат стандартни протоколи като HTTP, HTTPS, FTP, FTPS.
- И двата инструмента изтеглят файлове от интернет.
- И двата инструмента поддържат HTTP бисквитки.
- И двата инструмента поддържат изход към файл.
- Както безплатни, така и активно разработени инструменти.
- И двата инструмента поддържат прехвърляне на резюме.
- И двата инструмента поддържат HTTP POST.
Разлики между wget и cURL
Ето някои от разликите между curl и wget:
- Wget е проста програма за прехвърляне, докато curl предлага много повече.
- Curl предоставя библиотеката libcurl, която може да бъде разширена в GUI приложения. Wget, от друга страна, е проста помощна програма за командния ред.
- Wget поддържа по -малко протоколи в сравнение с cURL.
- Рекурсивното изтегляне не се поддържа в curl.
- Wget е първоначално наличен в Linux системи, докато cURL е лесно достъпен в Windows системи.
- cURL поддържа множество паралелни трансфери.
- cURL извършва декомпресиране на HTTP, кодирани с трансфер, докато wget не.
- cURL поддържа двупосочен HTTP, докато wget предлага обикновен HTTP POST.
- cURL поддържа повече HTTP методи за удостоверяване в сравнение с wget.
- Wget не поддържа SOCKS.
- Wget изисква инсталиран gnulib.
- За разлика от curl, функции като „бисквитки“, времеви марки и пренасочвания за следване са активирани по подразбиране в wget. cURL изисква всеки да бъде посочен изрично.
Заключение
Този урок се фокусира върху приликите и разликите между cURL. Въпреки че може да изглежда, че cURL е най -добрият избор, има случаи, когато wget е най -добрият избор.
Моят съвет към вас е да изберете това, което работи за вас.