GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi curl a Wget?

curl a Wget jsou dva nejběžnější nástroje pro vytváření požadavků na servery z příkazového řádku Linuxu.

Pokud se někdy přistihnete, že mezi nimi přecházíte, jeden ve vás jen budí zvědavost nebo jste o něm někdy viděli nějakou starou dobrou online diskuzi, existují určité rozdíly, o kterých by mohlo být užitečné vědět.

I když doufejme, že budete mít bezproblémovou zkušenost s používáním obou, znalost základních rozdílů mezi nimi vám pomůže lépe porozumět používání obou (a doufejme, že vyřešíte cokoli z výše uvedených diskuzí plných otázek).

Hlavní rozdíl mezi curl a Wget:Jak se ukládá výstup

Jediný nejviditelnější rozdíl curl a Wget je ten, že ve výchozím nastavení Wget uloží dotazovanou webovou stránku do systému, zatímco curl ji zobrazí ve výstupu terminálu, ale neuloží ji.

Začněme jednoduchým příkladem zadání požadavku na domovskou stránku Arch Linuxu, https://archlinux.org .

Nejprve provedeme požadavek s curl.

curl 'https://archlinux.org'

Všimněte si, jak příkaz curl vygeneruje nezpracovaný obsah webové stránky? Je to jako kdybyste klikli na tlačítko Zobrazit zdrojový kód ve webovém prohlížeči.

Zkusme načíst stejný web pomocí Wget:

wget 'https://archlinux.org'

Podívejte se, Wget nezobrazoval obsah webové stránky jako curl. Ale pokud to Wget neukázal, kde ukázal řekl to?

Zde nastává první hlavní rozdíl mezi těmito dvěma programy.

Ve výchozím nastavení Wget vkládá obsah webu do souboru s názvem index.html :

Poté byste mohli vidět skutečný obsah souboru spuštěním cat index.html , což by vytvořilo stejný výstup, jaký jste viděli s curl příkaz:

Pokud chcete soubor uložit s curl, musíte použít -o možnost:

curl -o <output_file> <web_URL>

Další významné rozdíly

Kromě toho je to vlastně skoro jediný rozdíl, kterého si pravděpodobně všimnete při použití curl a Wget. Existuje několik dalších, které mohou být zajímavé, ale pravděpodobně příliš neovlivní vaše používání obou nástrojů jako koncového uživatele, pokud vůbec.

Podpora

curl je mnohem více využívaný než Wget, používá se v prostředích, jako jsou mobilní telefony, váš počítač (včetně operačních systémů jako Windows a macOS) a dokonce i zařízení s internetem věcí, jako jsou chytré hodinky, chytré ledničky a další podobné položky.

Využití vývojáře

Tato další část se týká především vývojářů. Curl má knihovny pro podporu síťových požadavků v programovacích jazycích, jako je C, zatímco wget je také přísně příkazový řádek a nebude fungovat dobře, pokud s ním potřebujete komunikovat z programovacího jazyka.

Část toho se váže k předchozímu důvodu a přispívá k tomu, proč je curl široce používán v různých typech prostředí a zařízení.

Zabalení

A to je asi tak všechno! Doufejme, že jste nyní viděli, že rozdíly mezi těmito dvěma jsou mnohem menší, než se z některých může zdát.

Pokud se někdy rozhodnete vybrat si jeden dlouhodobý nástroj, určitě bych doporučil curl, protože to je to, co používám ve svých vlastních projektech, a je to prostě mnohem více používané než Wget.

Chcete úplnější přehled mezi těmito dvěma? Podívejte se na článek curl vs Wget od Daniela Stenberga (tvůrce curl), který se zabývá řadou pokročilejších věcí, které se mezi těmito dvěma nástroji liší.


Linux
  1. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  2. Jaký je rozdíl mezi fsck a e2fsck?

  3. Jaký je rozdíl mezi adduser a useradd?

  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Jaký je rozdíl mezi Git Switch a Checkout?

  3. Jaký je rozdíl mezi ls a l?

  1. Jaký je rozdíl mezi Redhat a centOS?

  2. Jaký je rozdíl mezi insmod a modprobe

  3. Jaký je rozdíl mezi mutexem a kritickou sekcí?