GNU/Linux >> Znalost Linux >  >> Linux

Curl Command v Linuxu s příklady

curl je nástroj příkazového řádku pro přenos dat ze serveru nebo na server navržený tak, aby fungoval bez zásahu uživatele. S curl , můžete stahovat nebo nahrávat data pomocí jednoho z podporovaných protokolů včetně HTTP, HTTPS, SCP, SFTP a FTP. curl poskytuje řadu možností, které vám umožní obnovit přenosy, omezit šířku pásma, podporu proxy, ověření uživatele a mnoho dalšího.

V tomto tutoriálu vám ukážeme, jak používat nástroj curl na praktických příkladech a podrobných vysvětleních nejběžnějších možností curlingu.

Instalace Curl #

Balíček curl je dnes předinstalován na většině distribucí Linuxu.

Chcete-li zkontrolovat, zda je na vašem systému nainstalován balíček Curl, otevřete konzolu a zadejte curl a stiskněte enter. Pokud máte curl nainstalován, systém vytiskne curl: try 'curl --help' or 'curl --manual' for more information . V opačném případě uvidíte něco jako curl command not found .

Pokud je curl není nainstalován, můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce.

Instalovat Curl na Ubuntu a Debian #

sudo apt updatesudo apt install curl

Instalovat Curl na CentOS a Fedoru #

sudo yum install curl

Jak používat Curl #

Syntaxe pro curl příkaz je následující:

curl [options] [URL...]

Ve své nejjednodušší podobě, když je vyvolán bez jakékoli možnosti, curl zobrazí zadaný zdroj na standardní výstup.

Chcete-li například načíst example.com domovskou stránku, kterou byste spustili:

curl example.com

Příkaz vytiskne zdrojový kód example.com domovskou stránku v okně terminálu.

Pokud není zadán žádný protokol, curl pokusí se uhodnout protokol, který chcete použít, a jako výchozí bude HTTP .

Uložit výstup do souboru #

Chcete-li uložit výsledek curl použijte buď -o nebo -O možnost.

Malá písmena -o uloží soubor s předdefinovaným názvem souboru, což je v příkladu níže vue-v2.6.10.js :

curl -o vue-v2.6.10.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Velká písmena -O uloží soubor s původním názvem souboru:

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Stáhnout více souborů #

Chcete-li stáhnout více souborů najednou, použijte více -O možnosti a za ním adresa URL souboru, který chcete stáhnout.

V následujícím příkladu stahujeme soubory iso Arch Linux a Debian:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso  \     -O https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso

Obnovit stahování #

Stahování můžete obnovit pomocí -C - volba. To je užitečné, pokud vaše připojení během stahování velkého souboru přestane fungovat a místo stahování od začátku můžete pokračovat v předchozím.

Pokud například stahujete soubor iso Ubuntu 18.04 pomocí následujícího příkazu:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

a najednou se vám přeruší připojení, můžete pokračovat ve stahování pomocí:

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

Získat záhlaví HTTP adresy URL #

HTTP hlavičky jsou páry klíč–hodnota oddělené dvojtečkou, které obsahují informace, jako je uživatelský agent, typ obsahu a kódování. Záhlaví jsou předávána mezi klientem a serverem s požadavkem nebo odpovědí.

Použijte -I možnost načíst pouze hlavičky HTTP zadaného zdroje:

curl -I --http2 https://www.ubuntu.com/

Otestujte, zda web podporuje HTTP/2 #

Chcete-li zkontrolovat, zda konkrétní adresa URL podporuje nový protokol HTTP/2, načtěte záhlaví HTTP s -I spolu s --http2 možnost:

curl -I --http2 -s https://linuxize.com/ | grep HTTP

-s volba říká curl běžet v tichém (tichém) režimu a skrýt ukazatel průběhu a chybové zprávy.

Pokud vzdálený server podporuje HTTP/2, curl vytiskne HTTP/2.0 200 :

HTTP/2 200

Jinak je odpověď HTTP/1.1 200 :

HTTP/1.1 200 OK

Pokud máte verzi curl 7.47.0 nebo novější, nemusíte používat --http2 protože HTTP/2 je ve výchozím nastavení povoleno pro všechna připojení HTTPS.

Sledovat přesměrování #

Ve výchozím nastavení curl nesleduje záhlaví HTTP Location.

Pokud se pokusíte načíst verzi google.com bez www , zjistíte, že místo získání zdrojového kódu stránky budete přesměrováni na verzi www:

curl google.com

-L volba instruuje curl sledovat jakékoli přesměrování, dokud nedosáhne konečného cíle:

curl -L google.com

Změnit uživatelského agenta #

Někdy při stahování souboru může být vzdálený server nastaven tak, aby zablokoval Curl User-Agent nebo vrátil jiný obsah v závislosti na zařízení návštěvníka a prohlížeči.

V situacích, jako je tato, chcete-li emulovat jiný prohlížeč, použijte -A možnost.

Například k emulaci Firefoxu 60 byste použili:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://getfedora.org/

Zadejte maximální přenosovou rychlost #

--limit-rate umožňuje omezit rychlost přenosu dat. Hodnota může být vyjádřena v bajtech, kilobajtech s k přípona, megabajty s m příponu a gigabajty s g přípona.

V následujícím příkladu curl stáhne binární soubor Go a omezí rychlost stahování na 1 mb:

curl --limit-rate 1m -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

Tato možnost je užitečná, chcete-li zabránit curl spotřebovává veškerou dostupnou šířku pásma.

Přenos souborů přes FTP #

Pro přístup k chráněnému FTP serveru pomocí curl , použijte -u a zadejte uživatelské jméno a heslo, jak je uvedeno níže:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Po přihlášení příkaz zobrazí seznam všech souborů a adresářů v domovském adresáři uživatele.

Ze serveru FTP můžete stáhnout jeden soubor pomocí následující syntaxe:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Chcete-li nahrát soubor na server FTP, použijte -T následovaný názvem souboru, který chcete nahrát:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Odeslat soubory cookie #

Někdy může být nutné provést požadavek HTTP s konkrétními soubory cookie pro přístup ke vzdálenému zdroji nebo pro ladění problému.

Ve výchozím nastavení při požadavku na zdroj pomocí curl nejsou odesílány ani ukládány žádné soubory cookie.

Pro odeslání cookies na server použijte -b přepínač následovaný názvem souboru obsahujícího soubory cookie nebo řetězec.

Chcete-li například stáhnout soubor Oracle Java JDK rpmjdk-10.0.2_linux-x64_bin.rpm budete muset předat soubor cookie s názvem oraclelicense s hodnotou a :

curl -L -b "oraclelicense=a" -O http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm

Použití proxy #

curl podporuje různé typy proxy, včetně HTTP, HTTPS a SOCKS. Pro přenos dat přes proxy server použijte -x (--proxy ) a za ním adresa URL serveru proxy.

Následující příkaz stáhne zadaný zdroj pomocí proxy na 192.168.44.1 port 8888 :

curl -x 192.168.44.1:8888 http://linux.com/

Pokud proxy server vyžaduje ověření, použijte -U (--proxy-user ) následovaná uživatelským jménem a heslem oddělenými dvojtečkou (user:password ):

curl -U username:password -x 192.168.44.1:8888 http://linux.com/

Závěr č.

curl je nástroj příkazového řádku, který umožňuje přenášet data ze vzdáleného hostitele nebo na něj. Je to užitečné pro odstraňování problémů, stahování souborů a další.

Příklady uvedené v tomto tutoriálu jsou jednoduché, ale ukazují nejpoužívanější curl možnosti a jsou určeny k tomu, aby vám pomohly pochopit, jak se curl příkazová práce.

Další informace o curl navštivte stránku dokumentace Curl.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Linux Tee Command s příklady

  2. Příkaz linuxové hlavy s příklady

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Echo Command v Linuxu (s příklady)

  1. man Command v Linuxu s příklady

  2. Příkaz AWK v Linuxu s příklady

  3. Příklady příkazů Linux curl – část 2