Jaký je rozdíl mezi wget a curl?

What Is Difference Between Wget Vs Curl



Často potřebujeme stahovat soubory ze vzdálených serverů na náš místní počítač. Na grafické ploše můžeme použít prohlížeč GUI a kliknout na tlačítko Stáhnout. Na terminálu však musíme použít nástroje vyvinuté pro terminál. Při stahování souborů z terminálu se často objevují čtyři nástroje: kučera , rameno , wget , a árie 2 . Zatímco axel a aria2 nemusí být dobře známé, většina koncových uživatelů zná curl a wget.

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 cURL

sudo apt-get installkučera

# nainstalovat wget

sudo apt-get install wget

Oblouk / Manjaro:

# nainstalovat cURL

sudopacman-Skučera

# nainstalovat wget

sudopacman-S wget

REHL/CentOS/Fedora:

# nainstalovat cURL

sudo 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.html

zvlně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.zst

wget --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.