V tomto tutoriálu se podíváme na curl a wget, jak začít a hlavně na rozdíly mezi nimi.
Co je CURL?
cURL je bezplatný a open-source nástroj příkazového řádku, který umožňuje uživatelům přenášet data z jednoho vzdáleného počítače na druhý s minimální nebo žádnou interakcí uživatele. Použití CURL převládá v zařízeních, jako jsou routery, tiskárny, telefony, tablety, přehrávače médií a další.
Podporuje stahování a odesílání pomocí protokolů, jako jsou HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER a mnoho dalších.
cURL také poskytuje proxy, obnovení přenosů, ověřování uživatelů, certifikáty SSL a mnoho dalšího.
Co je wget?
GNU Wget, běžně nazývaný wget, je bezplatný nástroj příkazového řádku pro přenos souborů pomocí HTTP/HTTPS, FTP a FTPS. Poskytuje funkce, jako je rekurzivní stahování, řízení šířky pásma, obnovuje přerušené přenosy, stahování na pozadí, rekurzivní zrcadlové soubory a adresáře a mnoho dalších.
Jak nainstalovat cURL a Wget?
cURL a wget jsou populární nástroje snadno dostupné ve velkých distribucích Linuxu; pokud nemáte nainstalovaný žádný nástroj, použijte k instalaci následující příkazy:
Debian/Ubuntu:
# nainstalovat cURLsudo apt-get installkučera
# nainstalovat wget
sudo apt-get install wget
Oblouk / Manjaro:
# nainstalovat cURLsudopacman-Skučera
# nainstalovat wget
sudopacman-S wget
REHL/CentOS/Fedora:
# nainstalovat cURLsudo mňam instalacekučera
sudodnfNainstalujtekučera
# nainstalovat wget
sudo mňam instalace wget
sudodnfNainstalujte wget
Jak používat cURL a Wget (příklady použití)?
Abyste porozuměli podobnostem a rozdílům mezi cURL a wget, je dobré se podívat na několik příkladů:
Protokoly HTTP/HTTPS:
CURL i wget podporují protokoly HTTP a HTTPS. Pokud tedy stáhneme webovou stránku, jako je linuxhint.com:
zvlnění https://linuxhint.com-nebolinuxhint.htmlzvlnění https://linuxhint.com-nebolinuxhint.html
%Celkový%Přijato%Xferd Průměrná rychlost Čas Čas Čas Aktuální
Dload Nahrát Celková útrata Levá rychlost
100256 tis0256 tis0 0166 tis0-: -: -0: 00: 01-:-:-166 tis
Ve výchozím nastavení cURL vytiskne obsah webového zdroje v terminálu. Příkaz -o používáme k přesměrování výstupu do souboru.
Pro wget platí následující:
wgethttps://linuxhint.com--2021-06-2005:09:Čtyři pět- https://linuxhint.com/
Řešení linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...
Připojení k linuxhint.com(linuxhint.com)|104,21,58,234|:443... připojeno.
Odeslán požadavek HTTP, čeká se na odpověď ...200OK
Délka: neurčeno[text/html]
Ukládání do: „index.html“
index.html
[ <=> ]256,25 kB 506 kB/sv0,5 s
2021-06-dvacet05:09:46 (506KB/s)- „index.html“ uložen[262396]
Wget naopak ukládá požadovaný zdroj do souboru.
Je dobré poznamenat, že oba nástroje si zdroj stáhnou. Podrobnosti ls dvou souborů ukazují obě velikosti souborů.
$ls -tenindex.html linuxhint.html-rw-rw-r-- 1linuxhint linuxhint262396Června19 patnáct:padesátkaindex.html
-rw-rw-r-- 1linuxhint linuxhint262396Červnadvacet05:07 linuxhint.html
Protokol FTP:
CURL i wget podporují stahování na protokolech FTP. CURL však podporuje nahrávání na ftp.
Pomocí níže uvedeného příkazu můžete stahovat soubory ze serveru FTP pomocí wget:
wget --uživatel= debian--Heslo= 'Debian' ftp://192.168.0.112/backup.zstwget --uživatel= debian--Heslo='debian'ftp://192.168.0.112/backup.zst
--2021-06-2005:29: 06-- ftp://192.168.0.112/backup.zst
=>'Backup.zst'
Připojení k 192.168.0.112:dvacet jedna... připojeno.
Protokolovánív tak jakodebian ... Přihlášenv!
==>SYST ... hotovo. ==>PWD ... hotovo.
==>TYP I ... hotovo. ==>CWD není potřeba.
==>SIZE backup.zst ... hotovo.
==>PASV ... hotovo. ==>RETR backup.zst ... hotovo.
backup.zst
[ <=> ] 0--.- KB/sv0 s
2021-06-dvacet05:29: 06(0,00B/s)- „backup.zst“ uloženo[0]
Pomocí zvlnění přidejte-uoznačit jako:
kučera-udebian: debian ‘ftp://192.168.0.112/backup.zst ‘-nebobackup.zst
kučera-udebian: debian'ftp://192.168.0.112/backup.zst' -nebobackup.zst
%Celkový%Přijato%Xferd Průměrná rychlost Čas Čas Čas Aktuální
Dload Nahrát Celková útrata Levá rychlost
0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0
Chcete -li nahrát asoubornaftpse zvlněním používáme-Tmožnost jako:
kučera-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/
Zajistěte, aby adresář existoval a měl k němu uživatel oprávnění k zápisu.
POZNÁMKA: Přestože cURL podporuje širokou škálu protokolů, neposkytuje rekurzivní stahování. Na druhou stranu Wget podporuje rekurzivní stahování pomocí možnosti –recursive, jak nabízejí protokoly HTTP/HTTPS a FTP/FTPS, takovou funkci.
Podobnosti mezi wget a cURL
Nyní k třešničce na dortu:
- Oba nástroje podporují standardní protokoly jako HTTP, HTTPS, FTP, FTPS.
- Oba nástroje stahují soubory z internetu.
- Oba nástroje podporují soubory cookie HTTP.
- Oba nástroje podporují výstup do souboru.
- Jak bezplatné, tak aktivně vyvíjené nástroje.
- Oba nástroje podporují obnovení přenosů.
- Oba nástroje podporují HTTP POST.
Rozdíly mezi wget a cURL
Zde jsou některé rozdíly mezi zvlněním a wgetem:
- Wget je jednoduchý nástroj pro přenos, zatímco curl nabízí mnohem více.
- Curl poskytuje knihovnu libcurl, kterou lze rozšířit do aplikací GUI. Wget je na druhé straně jednoduchý nástroj příkazového řádku.
- Wget podporuje méně protokolů než cURL.
- Rekurzivní stahování není podporováno.
- Wget je nativně dostupný v systémech Linux, zatímco cURL je snadno dostupný v systémech Windows.
- cURL podporuje více paralelních přenosů.
- cURL provádí dekompresi HTTP kódovanou přenosem, zatímco wget ne.
- cURL podporuje obousměrný HTTP, zatímco wget nabízí prostý HTTP POST.
- cURL podporuje více metod ověřování HTTP než wget.
- Wget nepodporuje SOCKS.
- Wget vyžaduje nainstalovaný gnulib.
- Na rozdíl od zvlnění jsou funkce jako cookies, časová razítka a přesměrování sledování ve wgetu ve výchozím nastavení povoleny. cURL vyžaduje, aby každý byl explicitně specifikován.
Závěr
Tento tutoriál se zaměřil na podobnosti a rozdíly mezi cURL. Ačkoli se může zdát, že cURL je nejlepší volbou, existují případy, kdy je wget nejlepší volbou.
Moje rada je, abyste si vybrali, co vám vyhovuje.