GNU/Linux >> Znalost Linux >  >> Linux

Jak používat CURL jako profík v Linuxu

Existuje několik způsobů, jak ovládat a komunikovat s daty v terminálu Linux a curl je nejlepší způsob, jak to udělat. curl je nástroj příkazového řádku, který můžete použít pro přenos dat ze serveru nebo na něj. Můžete použít curl příkaz pro stahování a nahrávání dat pomocí libovolného z podporovaných protokolů, které zahrnují  FTP, HTTP,  SFTP, HTTPS a SCP. Curl má řadu funkcí, včetně možnosti omezit šířku pásma, obnovit přenosy, ověření uživatele, podporu proxy serverů a mnoho dalších.

Níže je uveden seznam protokolů aktuálně podporovaných curl :

  • FTP/FTPS
  • Gopher
  • HTTP
  • HTTP/2
  • SMTP/SMTPS
  • IMAP/IMAPS
  • SMB
  • POP3/POP3S
  • RTMP
  • SCP
  • SFTP
  • RTSP
  • LDAP/LDAPS
  • Telnet a TFTP
  • RTSP

Mezi další funkce patří:

  • Ověření uživatele a hesla
    • Základní
    • Prostý přehled
    • NTLM
    • CRAM-MD5
    • Kerberos
    • Vyjednávat
  • Soubory cookie
  • Tunelování proxy
  • Obnovení operace přenosu souboru
  • Certifikáty SSL
  • Nahrání formulářů HTTP a HTTPS

wget a curl jsou často srovnávány, protože jejich funkčnost se do určité míry překrývá. Oba nástroje mohou získávat obsah z internetu, ale wget má více funkcí, jako je web scraping,  rekurzivní stahování a je také uživatelsky přívětivější. wget je považován za lepší možnost, pokud chcete stahovat soubory pouze v terminálu.

Učení curl základy příkazů vám pomohou při nahrávání a stahování souborů pomocí pokročilých postupů ověřování HTTP. Dále wget podporuje pouze FTP a HTTP(S), zatímco curl podporuje mnohem více protokolů.

To je vše o curl příkaz. Nyní přejdeme přímo k terminálu.

Instalace „curl“ v systému Linux

Pokud nemáte curl na vašem systému Linux jej nainstalujte pomocí následujícího příkazu. V opačném případě přeskočte instalační kroky a přejděte k příkladům.

sudo apt-get update
sudo apt-get install curl -y

Nyní ověřte curl je k dispozici ve vašem systému kontrolou jeho verze:

curl --version

Příklady použití „curl“

Pomocí curl můžeme dělat spoustu skvělých věcí . Pojďme se na některé z nich podívat.

Získání externí IP adresy serveru

Na internetu je úžasný zdroj, který vám umožňuje získat vaši internetovou IP adresu – https://ifconfig.me (pojmenovaný podle slavného nástroje pro konfiguraci sítě Linux – ifconfig ).

Pokud jste na tento web odeslali požadavek HTTP pomocí curl, vrátí vám externí IP adresu v terminálu ve formě jednoduchého řetězce:

curl https://ifconfig.me

Tento výsledek tedy můžete snadno vložit do proměnné bash:

MY_EXTERNAL_IP=$(curl -s https://ifconfig.me)
echo $MY_EXTERNAL_IP

Zde je výsledek:

Zde -s argument umožňuje vyhnout se výstupu průběhu stahování curl:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100    12  100    12    0     0    181      0 --:--:-- --:--:-- --:--:--   181

Předpověď počasí

Chcete se cítit jako hacker a zobrazovat informace o počasí přímo v terminálu? Můžete to udělat pomocí curl !

curl http://wttr.in/LOCATION

Uložení výstupu „curl“ do textového souboru

Můžete uložit výstup curl příkaz do zadaného souboru.

Zde je příklad uložení výstupu JSON API (StarWars demo API) do souboru:

curl https://swapi.dev/api/planets/1/ -o Tatooine.json

curl je dostatečně chytrý, aby detekoval stahování binárních souborů. Zde je příklad stažení jednoho z nejpopulárnějších open source softwaru pro správu infrastruktury jako kódu Terraform (další informace o Terraform):

curl https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip -o terraform_0.15.0_linux_amd64.zip

Stahování více souborů

Můžete použít curl ke stažení více souborů najednou. Stačí přidat -o argumentujte tolikrát, kolikrát potřebujete.

curl -o https://example.com/files/file-1 -o file-2 https://example.com/files/file-2 -o file-3 https://example.com/files/file-3

Omezení rychlosti stahování

Další užitečná funkce curl je omezení rychlosti stahování souborů. Můžete to udělat pomocí --limit-rate argument a specifikující rychlost:

curl --limit-rate 1M -O https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip

Daná rychlost se měří v bajtech/sekundu, pokud není připojena přípona. Přidáním „k“ nebo „K“ se číslo započítá jako kilobajty, „m“ nebo M“ z něj udělají megabajty, zatímco „g“ nebo „G“ z něj udělá gigabajty.

Stahování seznamu adres URL

V tomto příkladu stáhneme všechny soubory uvedené v textovém souboru. Chcete-li to provést, musíte použít kombinaci xargs s curl příkazy:

xargs -n 1 curl -O < urllists.txt

Zde je výstup:

Základní ověřování

Můžete použít -u argument pro poskytnutí uživatelského jména a hesla pro základní HTTP autentizaci (základní autentizaci):

curl -u username:password -O https://example.com/files/README

Získání záhlaví adres URL

HTTP hlavičky jsou páry klíč-hodnota oddělené dvojtečkami, které obsahují informace jako požadovaný typ obsahu zdroje, uživatelský agent, kódování atd. S požadavkem nebo odpovědí jsou hlavičky přenášeny mezi klientem a serverem. Chcete-li získat informace o záhlaví libovolného webu, použijte -I argument:

curl -I https://hands-on.cloud

Používání souborů cookie

V následných požadavcích na stejnou webovou stránku možná budete muset použít soubory cookie.

Chcete-li uložit soubory cookie přijaté z webového serveru, použijte následující příkaz:

curl -s -o /dev/null -c google_cookies.txt 'https://www.google.com'

Zde jsou argumenty:

  • -s – tichý režim, curl netiskne informace o průběhu stahování
  • -o /dev/null – netisknout výstup webové stránky na terminál
  • -c google_cookies.txt – uložit informace o souborech cookie do souboru

Chcete-li použít soubory cookie přijaté z předchozího požadavku, použijte následující příkaz:

curl -b google_cookies.txt 'https://www.google.com'

Kontrola podpory HTTP/2

Použijte -I , --http2 a -s možnosti společně ověřit, zda zadaný web podporuje záhlaví HTTP/2:

curl -I --http2 -s https://hands-on.cloud/ | grep HTTP

Shrnutí

V tomto článku jsme probrali nejběžněji používané příklady použití curl příkaz. Doufáme, že vám tento článek umožní začít s tímto mocným nástrojem. Pokud se vám článek líbí, pomozte nám jej rozšířit do světa!


Linux
  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak používat Su Command v Linuxu

  1. Jak používat FIND v Linuxu

  2. Jak používat Unzip v Linuxu

  3. Jak používat Disk Google v systému Linux

  1. Jak používám nastavení usnadnění přístupu v systému Linux

  2. Jak používat pkgsrc na Linuxu

  3. Jak používat příkaz wget jako profesionál v linuxovém terminálu