logo

Curl Command v Linuxe s príkladmi

Linux curl príkaz sa používa na sťahovanie alebo nahrávanie dát na server cez podporované protokoly ako HTTP, FTP, IMAP, SFTP, TFTP, IMAP, POP3, SCP atď. Je to vzdialený nástroj, takže funguje bez zásahu používateľa.

Prenos dát z jedného miesta na druhé je jednou z najdôležitejších a najpoužívanejších úloh počítačového systému. Na prenos údajov je však k dispozícii veľa nástrojov GUI. Ale pri práci na príkazovom riadku sa to trochu skomplikuje. Pomôcka curl nám umožňuje prenášať údaje cez príkazový riadok.

Curl je nástroj príkazového riadka na získavanie a odosielanie údajov, ako sú súbory so syntaxou URL. Podporuje všetky protokoly, ktoré podporuje libcurl, pretože používa libcurl. Curl poskytuje podporu pre HTTPS a implementuje overenie certifikátu SSL, keď je v predvolenom nastavení uvedený zabezpečený protokol, napríklad HTTPS. Curl prinesie certifikát vzdialeného servera a skontroluje certifikát CA, aby ušetril platnosť vzdialeného servera a nezaručil, že vzdialený server je ten, ktorý požaduje, keď sa curl prepojí so vzdialeným serverom cez HTTPS.

Existuje veľa možností, ako definovať certifikát CA, napr --kapat a --cacert . Voľba, t. j. --cacert, sa môže použiť na určenie umiestnenia súboru skladu certifikátov CA. Ak súbor certifikátu CA nie je k dispozícii na platforme Windows, curl vyhľadá názov súboru certifikátu CA „curl-ca-bundle.crt“ v nasledujúcom poradí:

  • Adresár, v ktorom sa nachádza program curl.
  • Aktuálny pracovný adresár.
  • Systémový adresár (Windows).
  • Adresár (Windows).
  • Adresáre sú uvedené v premenných prostredia %PATH%.

Curl zobrazí chybové hlásenie, keď vzdialený server používa certifikát s vlastným podpisom alebo keď certifikát vzdialeného servera nie je podpísaný prostredníctvom CA uvedenej v súbore certifikátu CA. Na preskočenie overenia certifikátu možno použiť voľbu --insecure alebo -k. Certifikát vzdialenej CA môže byť alternatívne zahrnutý do súboru skladu certifikátov CA, ak je vzdialený server platný.

Curl poskytuje množstvo užitočných trikov, ako je obnovenie prenosu súborov, súbory cookie, pripojenia SSL, odosielanie HTTP, nahrávanie FTP, overovanie používateľov, podpora proxy a ďalšie. Curl je mechanizovaný pomocou libcurl pre každý aspekt súvisiaci s prenosom.

Čo je libcurl?

libcurl je bezplatná knižnica na prenos adries URL na strane klienta. Podporuje SMB, SMTP, SCP, RTMP, RTSP, POP3, MQTT, LDAP, Kerberos, IMAP, HTTPS, HTTP proxy tunelovanie, HTTP PUT, HTTP POST, HTTP/1, Gopher, FTPS, FTP, DICT a cookies. Knižnica tiež podporuje autentifikáciu user-plus-heslo, proxy, LDAPS, HTTPS certifikáty, odosielanie na základe formulára HTTP, nahrávanie cez FTP, obnovenie prenosu súborov, TFTP, Telnet, SFTP a schému URL súboru.

libcurl je kompaktný. Identicky vytvára a funguje na niekoľkých platformách vrátane Microsoft Windows, UnixWare, Ultrix, Tru64, Symbian, Solaris, RISC OS, QNX Neutrino, OS/2, OpenBSD, NetWare, NetBSD, macOS, Linux, IRIX, iOS, HURD, HP -UX, FreeBSD, DOS, Darwin, OpenVMS, BlackBerry 10, BlackBerry Tablet OS, BeOS, Android, AmigaOS a AIX.

Knižnica libcurl je kompatibilná s IPv6, bezpečná pre vlákna a je bezplatná. Väzby sú k dispozícii aj pre viac ako 50 jazykov vrátane Pythonu, PHP, Java a C/C++.
Knižnica libcurl podporuje SChannel, gskit na IBM i, NSS, mbed TLS, GnuTLS na Windows, Secure Trasport na iOS a macOS, TLS/SSL cez OpenSSL, rustls, BearSSL, wolfSSL, AmiSSL, libressl a Boringssl.

Syntax:

Základná syntax pre použitie curl je nasledovná:

 curl [options] [URL...] 

Z vyššie uvedenej syntaxe

URL:

Syntax adresy URL je všeobecná adresa URL závislá od protokolu. Môžeme zadať viacero adries URL takto:

 http://site.{one,two,three}.com 

Možnosti:

Príkaz curl podporuje nasledujúce možnosti príkazového riadka:

--abstract-unix-socket : Používa sa na pripojenie cez abstraktnú zásuvku domény Unix namiesto siete.

--anyauth: Používa sa na príkaz curl na overenie samotnej metódy na použitie najbezpečnejšej metódy. Táto pomôcka je voliteľná pomôcka „--basic, --digest, --ntlm a vyjednávať“, ktorá sa používa na nastavenie konkrétnej metódy autentifikácie.

-a, --append: Používa sa na nahrávanie súborov. Súbor skôr pripojí, než aby ho prepísal. Ak daný súbor na serveri neexistuje, vytvorí sa.

bash polia

--základné: Špecifikuje použitie základnej autentifikácie HTTP. Je to predvolená možnosť príkazu curl. Je to užitočné na prepísanie predchádzajúcich nastavení.

--cacert: Je špecifikovaný na použitie konkrétneho súboru certifikátu na overenie partnera. Súbory môžu mať niekoľko certifikátov CA. Štandardný formát certifikátov je PEM, takže v ňom musia byť všetky certifikáty.

--capath: Je špecifikovaný na použitie konkrétneho adresára na overenie partnera. Môžeme zadať viacero ciest tak, že ich oddelíme dvojbodkou (:), ako napríklad 'cesta: cesta2:cesta3'. Štandardný formát certifikátov je PEM, takže v ňom musia byť všetky certifikáty.

--certifikát-stav: Používa sa na overenie stavu certifikátu servera. Používa Certificate Status Request alebo OCSP zošívanie TLS.

--typ-certifikátu: Špecifikuje poskytnutý typ certifikátu zvlnenia. Tieto certifikáty môžu byť vo formáte PEM, DER a ENG. Predvolená hodnota je PEM. Ak je zadaný viackrát, zvlnenie prevezme poslednú hodnotu.

-E, --certifikát: Je určený na použitie súboru certifikátu klienta pri získavaní súboru prostredníctvom akéhokoľvek protokolu založeného na SSL, ako je HTTPS, FTPS atď.

--šifry: Používa sa na výber šifier, ktoré sa použijú v spojení.

--compressed-ssh: Používa sa na povolenie vstavanej kompresie SSH. Táto možnosť bude považovaná za požiadavku servera, takže server ju môže alebo nemusí prijať.

--komprimovaný: Používa sa na vyžiadanie komprimovanej odpovede pomocou algoritmov curl a uloženie nekomprimovaného dokumentu. Táto možnosť odošle hlásenie o nepodporovanom zvlnení kódovania.

-K, --config : Používa sa na popis textového súboru na čítanie argumentov curl. Curl použije argumenty príkazového riadku z textového súboru.

--connect-timeout: Používa sa na určenie maximálneho času v sekundách pre časový limit pripojenia curl.

--pripojiť-k: Slúži na vytvorenie požiadavky na daný pár hostiteľa a portu; v opačnom prípade sa pripojí k ďalšiemu páru. Táto možnosť je praktický nástroj na vytváranie priamych požiadaviek na konkrétnom serveri.

-C, --pokračovať-o: Používa sa na pokračovanie alebo obnovenie predchádzajúceho prenosu súboru s daným posunom.

-c, --cookie-jar : Slúži na zadanie konkrétneho súboru, do ktorého chceme po úspešnej operácii zapísať všetky cookies.

-b, --cookie : Používa sa na posielanie údajov na HTTP server v hlavičke Cookie.

--create-dirs: Používa sa v spojení s '-o? možnosť, vytvorí požadovanú lokálnu hierarchiu adresárov.

--crlf (FTP SMTP): Používa sa na konverziu LF na CRLF pri nahrávaní. Je to šikovný nástroj pre MVS (OS/390).

--crlfile: Používa sa na špecifikáciu (vo formáte PEM) so zoznamom zrušených certifikátov.

--data-ascii : Je to alias pre ?-d? možnosť.

--delegovanie: Používa sa na nastavenie LEVEL na potvrdenie toho, čo môže server delegovať, pokiaľ ide o poverenia používateľa.

--tráviť: Používa sa na povolenie autentifikácie HTTP Digest.

-q, --zakázať: Ak sa použije ako prvý argument, bude ignorovať konfiguračný súbor curlrc.

--dns-rozhranie: Používa sa na potvrdenie, že server odošle odchádzajúce požiadavky DNS.

--dns-servery: Používa sa na určenie serverov DNS namiesto predvolených serverov.

-f, --fail: Používa sa na to, aby zvlnenie ticho zlyhalo pri chybách servera.

-F, --form : Používa sa na emuláciu vyplneného formulára odoslaného používateľom.

-P, --ftp-port : Používa sa na obrátenie predvolených rolí poslucháčov pri pripojení k FTP.

--ftp-ssl-ccc-mode : Používa sa na nastavenie režimu CCC.

-G, --get: Používa sa na špecifikáciu údajov s ?-d? možnosť použiť v požiadavke HTTP GET namiesto požiadavky POST.

-h, --help: Používa sa na zobrazenie príručky pomoci so stručným popisom použitia a možností podpory.

-0, --http1.0: Je určený na používanie HTTP verzie 1.0.

--ignore-content-length: Používa sa na ignorovanie hlavičky Content-Length.

-i, --include: Používa sa na zahrnutie hlavičiek odpovedí HTTP.

-4, --ipv4: Používa sa na preklad mien na adresy IPv4.

-6, --ipv6: Používa sa na preklad mien na adresy Ipv6.

Protokoly zvlnenia

Curl podporuje niekoľko protokolov:

    DICT:Umožňuje nám vyhľadávať slová iba pomocou slovníkov.FTP (S):Curl podporuje protokol FTP pomocou mnohých pák a vylepšení. S alebo bez TLS.SÚBOR:Umožňuje nám zapisovať a čítať lokálny súbor. Curl neumožňuje vzdialený prístup k file://URL, ale bude fungovať, ak je aktívny v systéme Microsoft Windows s natívnym prístupom UNC.GOPHER (S):Načítava súbory.HTTP (S):Curl podporuje HTTP pomocou mnohých variácií a možností. Dokáže čítať verzie 0.9, 1.0, 1.1, 2 a 3 HTTP v závislosti od presného príkazového riadka a možností zostavenia.IMAP (S):Curl pre nás sťahuje e-maily pomocou protokolu na čítanie pošty. S alebo bez TLS.LDAP (S):Curl nám môže implementovať vyhľadávanie adresárov s alebo bez použitia TLS.MQTT:Curl podporuje 3 verzie MQTT. Sťahovanie na MQTT je rovnaké ako 'subscribe' na akúkoľvek tému a uverejňovanie/nahrávanie je rovnaké ako 'publikovať' na akúkoľvek tému. Cez TLS nie je MQTT podporované.POP3 (S):Sťahovanie cez pop3 server predstavuje prijímanie pošty bez alebo s TLS.RTMP (S):Protokol RTMP alebo Realtime Messaging Protocol sa používa hlavne na serverové streamovanie médií.RTSP:Curl podporuje sťahovanie RTSP 1.0.SCP:Curl podporuje prenosovú verziu dvoch scp SCP.SFTP:Curl podporuje SFTP cez 2 verzie SSH.SMB (S):Curl podporuje 1 verziu SMB na sťahovanie a nahrávanie.SMTP (S):Nahrávanie obsahu na ľubovoľný server SMTP znamená prenos e-mailu bez alebo s TLS.TELNET:Informovanie curl, aby priniesol telnet URL, začína interaktívnu reláciu, v ktorej prenáša to, čo číta cez štandardný kód, a vedie k tomu, čo to prenáša server.TFTP:Curl môže implementovať nahrávanie a sťahovanie TFTP.

Inštalácia príkazu curl

Príkaz curl sa dodáva s väčšinou Linux distribúcie. Ak však systém štandardne nenesie zvlnenie. Musíte ho nainštalovať manuálne. Ak chcete nainštalovať zvlnenie, vykonajte nasledujúce príkazy:

Aktualizujte systém vykonaním nasledujúcich príkazov:

 sudo apt update sudo apt upgrade 

Teraz nainštalujte pomôcku curl vykonaním nižšie uvedeného príkazu:

 sudo apt install curl 

Overte inštaláciu vykonaním nižšie uvedeného príkazu:

 curl -version 

Vyššie uvedený príkaz zobrazí nainštalovanú verziu príkazu curl.

Načítajte obsah zadanej adresy URL

Ak chcete načítať obsah akejkoľvek konkrétnej adresy URL , vykonajte príkaz curl, za ktorým nasleduje adresa URL. Zvážte nasledujúci príkaz:

 curl https://www.javatpoint.com/linux-tutorial 

Vyššie uvedený príkaz načíta údaje zo zadanej stránky. Zvážte nižšie uvedený záber výstupu:

Linux Curl Command

Z vyššie uvedeného výstupu vidíme, že sa načítavajú údaje o stránke danej adresy URL. Ak chcete zastaviť vykonávanie, stlačte klávesy CTRL + C.

Uložte údaje do konkrétneho súboru

Ak chcete uložiť údaje do konkrétneho súboru, zadajte možnosť „-o“, za ktorou nasleduje adresár, názov súboru a adresa URL takto:

 curl -o / 

Zvážte nasledujúci príkaz:

 curl -o /home/javatpoint/Documents/linux.html https://www.javatpoint.com/linux-tutorial 

Vyššie uvedený príkaz uloží údaje stránky do súboru 'linux.html' do adresára ' /home/javatpoint/Documents/'. Zvážte nasledujúci výstup:

Linux Curl Command

Z vyššie uvedeného príkazu môžeme vidieť celkové množstvo stiahnutých dát, prijaté dáta, priemerný čas a niektoré ďalšie štatistiky o dátach.

Ak chcete overiť stiahnuté údaje, otvorte súbor vykonaním príkazu cat

 cd Documents cat linux.html 

Zvážte nižšie uvedený prehľad výstupu:

Linux Curl Command

Stiahnite si súbor z webu

Jedným zo zaujímavých a fascinujúcich spôsobov použitia curl je to, že si môžeme stiahnuť súbor z webu. Ak chcete stiahnuť súbor z webu, skopírujte odkaz na stiahnutie a prilepte ho pomocou príkazu curl. Môžeme uviesť aj iné argumenty, aby sme to upresnili. Napríklad si stiahnite najnovšiu verziu ubuntu, skopírujte súbor odkaz na stiahnutie ubuntu z jeho oficiálnej webovej stránky a prilepte ho príkazom curl takto:

 curl -o /home/javatpoint/Documents/ubuntu20.04.iso https://ubuntu.com/download/desktop/thank-you?version=20.04&architecture=amd64 

Vyššie uvedený príkaz stiahne Ubuntu 20.04 do určeného adresára. Poskytnite správnu príponu súboru; v opačnom prípade stiahne súbor v inom formáte. Zvážte nasledujúci výstup:

Linux Curl Command

Z vyššie uvedeného výstupu sa sťahuje súbor ubuntu.iso. Môžeme vidieť čas sťahovania, veľkosť súboru, rýchlosť sťahovania a ďalšie štatistiky. Ak chcete zastaviť vykonávanie, kedykoľvek stlačte klávesy CTRL + D.

Obnovte prerušené sťahovanie

Môže existovať šanca, že sťahovanie bude z nejakého dôvodu prerušené. Sťahovanie môžeme obnoviť pomocou príkazu curl. Ak chcete obnoviť prerušený súbor, odovzdajte voľbu '-C' príkazom curl takto:

 curl -C 

Vyššie uvedený príkaz obnoví sťahovanie zadanej adresy URL.

Stiahnite si viacero súborov

Ak chcete stiahnuť viacero súborov, zadajte viacero adries URL oddelených medzerou takto:

 curl -O 

Vyššie uvedený príkaz stiahne dáta z oboch URL, resp.

Dopyt na hlavičky HTTP

Hlavičky HTTP obsahujú dodatočné informácie; umožňuje webovému serveru stiahnuť tieto informácie. Ak chcete získať dotaz na hlavičky HTTP z webovej lokality, vykonajte príkaz s voľbou „-I“ takto:

 curl -I www.javatpoint.com 

Vyššie uvedený príkaz vytvorí nasledujúci výstup:

Linux Curl Command