W tym samouczku przyjrzymy się curl i wget, jak zacząć, a co najważniejsze, różnice między nimi.
Co to jest curl?
Curl to bezpłatne i open source narzędzie wiersza polecenia, które pozwala użytkownikom przesyłać dane z jednego zdalnego komputera do drugiego z minimalną interakcją użytkownika lub bez interakcji. Używanie loków jest powszechne w urządzeniach takich jak routery, drukarki, telefony, tablety, odtwarzacze multimedialne i inne.
Obsługuje pobieranie i przesyłanie przy użyciu protokołów, takich jak HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMB, Telnet, Pop3, Gopher i wiele, wiele innych.
Curl zapewnia również proxy, wznowić transfery, uwierzytelnianie użytkownika, certyfikaty SSL i wiele więcej.
Co to jest wget?
GNU WGET, powszechnie nazywany WGET, jest bezpłatnym narzędziem wiersza poleceń do przesyłania plików za pomocą HTTP/HTTPS, FTP i FTPS. Zapewnia funkcje takie jak pobieranie rekurencyjne, kontrola przepustowości, wznawia przeniesione transfery, pobieranie w tle, pliki i katalogi rekurencyjne i wiele innych.
Jak zainstalować Curl i WGET?
Curl i WGET są popularnymi narzędziami dostępnymi w głównych dystrybucjach Linux; Jeśli nie masz zainstalowanego narzędzia, użyj poniższych poleceń do instalacji:
Debian/Ubuntu:
# Zainstaluj curl
sudo apt-get curl
# Zainstaluj WGET
sudo apt-get install wget
Arch/Manjaro:
# Zainstaluj curl
sudo pacman -s curl
# Zainstaluj WGET
sudo pacman -s wget
Rehl/Centos/Fedora:
# Zainstaluj curl
sudo yum instal instaluj curl
sudo dnf instaluj curl
# Zainstaluj WGET
sudo yum instaluj wget
sudo dnf instaluj wget
Jak używać curl i wget (przykładowe przypadki użycia)?
Aby zapewnić, że rozumiesz podobieństwa i różnice między Curl i WGET, dobrze jest spojrzeć na kilka przykładów:
Protokoły HTTP/HTTPS:
Zarówno protokoły Curl, jak i WGET obsługują HTTP i HTTPS. Stąd, jeśli pobramy stronę internetową, taką jak Linuxhint.com:
curl https: // linuxhint.com -o Linuxhint.html
curl https: // linuxhint.com -o Linuxhint.html
% Całkowity % otrzymał % xferd średnia prędkość czas czas czasu
DLOAD PLOOD Całkowita spędzona prędkość
100 256K 0 256K 0 0 166K 0-:-:-0:00:01-:-:-166k
Domyślnie Curl wydrukuje zawartość zasobu internetowego w terminalu. Używamy flagi -O, aby przekierować wyjście do pliku.
Poniżej dotyczy WGET:
wget https: // linuxhint.com
--2021-06-20 05: 09: 45-- https: // Linuxhint.com/
Rozwiązanie Linuxhint.com (Linuxhint.com)… 104.21.58.234, 172.67.209.252, 2606: 4700: 3033 :: 6815: 3aea,…
Łączenie z Linuxhint.com (Linuxhint.com) | 104.21.58.234 |: 443… Połączone.
Wysłane żądanie HTTP, czekając na odpowiedź… 200 OK
Długość: nieokreślony [tekst/html]
Oszczędzanie na: „indeks.html '
indeks.html
[[[ <=> ] 256.25k 506kb/s w 0.5s
2021-06-20 05:09:46 (506 kb/s)-„indeks.html 'uratowany [262396]
WGET, z drugiej strony, zapisuje żądany zasób do pliku.
Należy zauważyć, że oba narzędzia pobierają zasób. Szczegóły LS dwóch plików pokazują obie rozmiary plików.
indeks $ ls -l.HTML Linuxhint.html
-RW-RW-R-- 1 Linuxhint Linuxhint 262396 19 15:50 Indeks.html
-RW-RW-R-- 1 Linuxhint Linuxhint 262396 czerwca 20 05:07 Linuxhint.html
Protokół FTP:
Zarówno do pobrania obsługi Curl, jak i WGET na protokołach FTP. Jednak Curl obsługuje przesłanie do FTP.
Użyj poniższej komendy, aby pobrać pliki z serwera FTP z WGET:
wget --User = debian - -patword = 'debian' ftp: // 192.168.0.112/Backup.Zst
wget --User = debian - -patword = 'debian' ftp: // 192.168.0.112/Backup.Zst
--2021-06-20 05: 29: 06-- ftp: // 192.168.0.112/Backup.Zst
=> 'kopia zapasowa.ZST '
Łączenie z 192.168.0.112: 21… połączone.
Logowanie się jako Debian… zalogował się!
==> Syst… gotowe. ==> PWD… gotowe.
==> Typ I… gotowe. ==> CWD nie jest potrzebne.
==> Kopia zapasowa rozmiaru.Zst… gotowe.
==> PASV… gotowe. ==> Wzryskiwanie kopii zapasowej.Zst… gotowe.
kopia zapasowa.Zst
[[[ <=> ] 0 --.-Kb/s w 0s
2021-06-20 05:29:06 (0.00 b/s) - „kopia zapasowa.ZST „SAVED [0]
Za pomocą Curl dodaj flagę -u jako:
curl -u debian: debian 'ftp: // 192.168.0.112/Backup.Zst '-o Backup.Zst
curl -u debian: debian 'ftp: // 192.168.0.112/Backup.Zst '-o Backup.Zst
% Całkowity % otrzymał % xferd średnia prędkość czas czas czasu
DLOAD PLOOD Całkowita spędzona prędkość
0 0 0 0 0 0 0-:-:--:-:-:-:-0
Aby przesłać plik do FTP z Curl, używamy opcji -T jako:
curl -u debian: debian -t „backup1.ZST ”ftp: // 192.168.0.112/ftp/
Upewnij się, że katalog istnieje, a użytkownik ma uprawnienia do zapisu.
NOTATKA: Chociaż Curl obsługuje szeroką gamę protokołów, nie zapewnia rekurencyjnych pobierania. Z drugiej strony, WGET obsługuje pobieranie rekurencyjne za pomocą opcji -rekurencyjnej jako zarówno protokołów HTTP/HTTPS, jak i FTP/FTPS, takiej funkcjonalności.
Podobieństwa między wget i curl
Teraz na lukier na torcie:
Różnice między wget i curl
Oto niektóre z różnic między Curl i WGET:
Wniosek
Ten samouczek koncentrował się na podobieństwach i różnicach między Curl. Chociaż może się wydawać, że curl jest doskonałym wyborem, są przypadki, w których WGET jest najlepszym wyborem.
Radzę ci wybrać, co działa dla Ciebie.