logo

Curl-komento Linuxissa esimerkkien kanssa

Linux curl -komentoa käytetään tietojen lataamiseen tai lähettämiseen palvelimelle tuettujen protokollien, kuten HTTP, FTP, IMAP, SFTP, TFTP, IMAP, POP3, SCP jne., kautta. Se on etäapuohjelma, joten se toimii ilman käyttäjän toimia.

Tiedonsiirto paikasta toiseen on yksi tietokonejärjestelmän tärkeimmistä ja eniten käytetyistä tehtävistä. Tiedonsiirtoon on kuitenkin saatavilla monia GUI-työkaluja. Mutta kun työskentelet komentorivillä, siitä tulee hieman monimutkaista. Curl-apuohjelman avulla voimme siirtää tietoja komentorivin kautta.

Curl on komentorivin työkalu tietojen, kuten URL-syntaksin sisältävien tiedostojen, hakemiseen ja lähettämiseen. Se tukee kaikkia protokollia, joita libcurl tukee, koska se käyttää libcurlia. Curl tukee HTTPS-protokollaa ja toteuttaa SSL-varmenteen vahvistuksen, kun oletusarvoisesti mainitaan suojattu protokolla, kuten HTTPS. Curl tuo etäpalvelimen varmenteen ja tarkistaa CA-varmenteen tallentaakseen etäpalvelimen kelpoisuuden takaamaan, että etäpalvelin on se, jota se pyytää olevan, kun curl linkittää etäpalvelimeen HTTPS:n kautta.

CA-varmenteen määrittämiseen on monia vaihtoehtoja, kuten --kapaatti ja --cacert . Vaihtoehtoa eli --cacert voidaan käyttää CA-varmennevaraston tiedoston sijainnin määrittämiseen. Jos CA-varmennetiedostoa ei ole saatavilla Windows-ympäristössä, curl etsii CA-varmennetiedoston nimeä 'curl-ca-bundle.crt' seuraavassa järjestyksessä:

  • Hakemisto, jossa curl-ohjelma on.
  • Nykyinen työhakemisto.
  • Järjestelmähakemisto (Windows).
  • Hakemisto (Windows).
  • Hakemistot mainitaan %PATH%-ympäristömuuttujissa.

Curl antaa virheilmoituksen, kun etäpalvelin käyttää itse allekirjoitettua varmennetta tai kun etäpalvelimen varmennetta ei ole allekirjoitettu CA-sertifikaattitiedostossa mainitun CA:n kautta. -insecure tai -k -vaihtoehtoa voidaan käyttää sertifikaatin tarkistamisen ohittamiseen. CA-etävarmenne voidaan vaihtoehtoisesti sisällyttää CA-sertifikaattivarastotiedostoon, jos etäpalvelin on kelvollinen.

Curl tarjoaa runsaasti hyödyllisiä temppuja, kuten tiedostojen siirron ansioluettelot, evästeet, SSL-yhteydet, HTTP-postit, FTP-lataukset, käyttäjän todennus, välityspalvelintuki ja paljon muuta. Libcurl koneistaa curlin jokaista siirtoon liittyvää näkökohtaa varten.

Mikä on libcurl?

libcurl on asiakaspuolen ilmainen URL-siirtokirjasto. Se tukee SMB, SMTP, SCP, RTMP, RTSP, POP3, MQTT, LDAP, Kerberos, IMAP, HTTPS, HTTP-välityspalvelintunnelointi, HTTP PUT, HTTP POST, HTTP/1, Gopher, FTPS, FTP, DICT ja evästeet. Kirjasto tukee myös käyttäjä plus salasana -todennusta, välityspalvelimia, LDAPS-varmenteita, HTTPS-varmenteita, HTTP-lomakepohjaista latausta, FTP-latausta, tiedostojen siirron jatkamista, TFTP:tä, Telnetiä, SFTP:tä ja tiedostojen URL-osoitemallia.

libcurl on kompakti. Se luo ja toimii samalla tavalla useilla alustoilla, mukaan lukien 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 ja AIX.

Libcurl-kirjasto on IPv6-yhteensopiva, säieturvallinen ja ilmainen. Sidotukset ovat saatavilla myös yli 50 kielelle, mukaan lukien Python, PHP, Java ja C/C++.
Libcurl-kirjasto tukee SChannelia, IBM i:n gskitiä, NSS:ää, mbed TLS:ää, GnuTLS:ää Windowsissa, Secure Trasportia iOS:ssä ja macOS:ssä, TLS/SSL:ää OpenSSL:n kautta, rustlsia, BearSSL:ää, wolfSSL:ää, AmiSSL:ää, libressl:ää ja Boringssl:ää.

Syntaksi:

Curl-käytön perussyntaksi on seuraava:

 curl [options] [URL...] 

Yllä olevasta syntaksista

URL-osoite:

URL-syntaksi on yleinen protokollasta riippuvainen URL-osoite. Voimme määrittää useita URL-osoitteita seuraavasti:

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

Vaihtoehdot:

Curl-komento tukee seuraavia komentorivivaihtoehtoja:

--abstract-unix-socket: Sitä käytetään yhteyden muodostamiseen abstraktin Unix-verkkoalueen pistorasian kautta verkon sijaan.

--anyauth: Sitä käytetään curl-komentoon menetelmän todentamiseen itsestään turvallisimman menetelmän käyttämiseksi. Tämä apuohjelma on valinnainen apuohjelma '--basic, --digest, --ntlm ja neuvotella', jota käytetään määrittämään tietty todennusmenetelmä.

-a, --lisää: Sitä käytetään tiedostojen lataamiseen. Se liittää tiedoston päälle kirjoittamisen sijaan. Jos annettua tiedostoa ei ole palvelimella, se luo sellaisen.

lisäyslajittelualgoritmit

--perus: Se määrittää HTTP-perustodennuksen käytön. Se on curl-komennon oletusasetus. Se on hyödyllinen aiempien asetusten ohittamiseen.

--cacert: Se on määritetty käyttämään tiettyä varmennetiedostoa vertaisen vahvistamiseen. Tiedostoilla voi olla useita CA-varmenteita. Varmenteiden vakiomuoto on PEM, joten kaikkien sertifikaattien tulee olla siinä.

--capath: Se on määritetty käyttämään tiettyä hakemistoa vertaisen tarkistamiseen. Voimme määrittää useita polkuja erottamalla ne kaksoispisteellä (:), kuten 'polku: polku2:polku3'. Varmenteiden vakiomuoto on PEM, joten kaikkien sertifikaattien tulee olla siinä.

--sertifikaatin tila: Sitä käytetään palvelinvarmenteen tilan tarkistamiseen. Se käyttää sertifikaatin tilapyyntöä tai OCSP-nidonta TLS:ää.

-- Cert-type : Se määrittää toimitetun curl-sertifikaattityypin. Nämä sertifikaatit voivat olla PEM-, DER- ja ENG-muodossa. Oletusarvo on PEM. Jos se määritetään useita kertoja, kihara ottaa viimeisen arvon.

-E, --todistus: Se on määritetty käyttämään asiakasvarmennetiedostoa, kun tiedosto haetaan minkä tahansa SSL-pohjaisen protokollan, kuten HTTPS, FTPS jne., kautta.

--salaukset: Sitä käytetään valitsemaan yhteydessä käytettävät salaukset.

--compressed-ssh: Sitä käytetään mahdollistamaan sisäänrakennettu SSH-pakkaus. Tämä vaihtoehto on palvelimen pyyntö, joten palvelin voi hyväksyä sen tai ei hyväksy sitä.

--pakattu: Sitä käytetään pakatun vastauksen pyytämiseen curl-algoritmeilla ja se tallentaa pakkaamattoman asiakirjan. Tämä vaihtoehto lähettää raportin ei-tuetusta koodauksen käpristymisestä.

-K, --config: Sitä käytetään kuvaamaan tekstitiedostoa curl-argumenttien lukemista varten. Curl käyttää tekstitiedoston komentorivin argumentteja.

--yhteyden aikakatkaisu: Sitä käytetään määrittämään kiharayhteyden aikakatkaisun enimmäisaika sekunteina.

--Yhdistää : Sitä käytetään luomaan pyyntö annetulle isäntä- ja porttiparille; muuten se muodostaa yhteyden seuraavaan pariin. Tämä vaihtoehto on kätevä työkalu suorien pyyntöjen tekemiseen tietylle palvelimelle.

-C, --jatka-at: Sitä käytetään jatkamaan tai jatkamaan edellistä tiedostonsiirtoa annetulla siirtymällä.

-c, --cookie-purkki: Sitä käytetään määrittämään tietty tiedosto, johon haluamme kirjoittaa kaikki evästeet onnistuneen toiminnon jälkeen.

-b, --eväste: Sitä käytetään tietojen välittämiseen HTTP-palvelimelle evästeen otsikossa.

--luo-hakemistot: Sitä käytetään yhdessä '-o? vaihtoehto, se luo vaaditun paikallisen hakemistohierarkian.

--crlf (FTP SMTP): Sitä käytetään LF:n muuntamiseen CRLF:ksi latauksessa. Se on kätevä työkalu MVS:lle (OS/390).

--crlfile: Sitä käytetään määrittämään (PEM-muodossa) varmenteiden peruutusluettelolla.

--data-ascii: Se on alias ?-d? vaihtoehto.

--delegaatio: Sitä käytetään asettamaan LEVEL vahvistamaan palvelimelle, mitä se saa delegoida käyttäjän tunnistetietojen osalta.

--sulattaa: Sitä käytetään HTTP Digest -todennuksen mahdollistamiseen.

-q, --pois käytöstä: Jos sitä käytetään ensimmäisenä argumenttina, se ohittaa curlrc-asetustiedoston.

--dns-liitäntä: Sitä käytetään kuittaamaan palvelin lähettämään lähtevät DNS-pyynnöt.

--dns-palvelimet: Sitä käytetään DNS-palvelimien määrittämiseen oletuspalvelinten sijaan.

-f, --epäonnistui: Sitä käytetään tekemään curl hiljaa epäonnistumaan palvelinvirheiden yhteydessä.

-F, --lomake: Sitä käytetään emuloimaan käyttäjän lähettämää täytettyä lomaketta.

-P, --ftp-portti: Sitä käytetään vaihtamaan oletuskuuntelijan roolit FTP-yhteyden yhteydessä.

--ftp-ssl-ccc-mode: Sitä käytetään CCC-tilan asettamiseen.

-G, --get: Sitä käytetään tietojen määrittämiseen ?-d? vaihtoehto käytettäväksi HTTP GET -pyynnössä POST-pyynnön sijaan.

-h, --apua: Sitä käytetään näyttämään ohjekäsikirjaa, jossa on lyhyt kuvaus käyttö- ja tukivaihtoehdoista.

-0, --http1.0: Se on määritetty HTTP-version 1.0 käyttöä varten.

--ohita-sisällön pituus: Sitä käytetään Content-Length-otsikon huomiotta jättämiseen.

-i, --sisältää: Sitä käytetään sisällyttämään HTTP-vastausten otsikot.

-4, --ipv4: Sitä käytetään nimien ratkaisemiseen Ipv4-osoitteiksi.

-6, --ipv6: Sitä käytetään nimien ratkaisemiseen Ipv6-osoitteiksi.

Kiharaprotokollat

Curl tukee useita protokollia:

    DICT:Sen avulla voimme etsiä sanoja vain sanakirjoista.FTP (S):Curl tukee FTP-protokollaa käyttämällä monia vipuja ja säätöjä. TLS:llä tai ilman.TIEDOSTO:Sen avulla voimme kirjoittaa ja lukea paikallista tiedostoa. Curl ei salli etäkäyttöä file://URL-osoitetta, mutta se toimii, kun se on aktiivinen Microsoft Windowsissa alkuperäisellä UNC-lähestymistavalla.GOPHER (S):Se hakee tiedostoja.HTTP (S):Curl tukee HTTP:tä käyttämällä lukuisia muunnelmia ja vaihtoehtoja. Se voi puhua HTTP-versiot 0.9, 1.0, 1.1, 2 ja 3 tarkasta komentorivistä ja koontivaihtoehdoista riippuen.IMAP (S):Curl lataa sähköpostit puolestamme sähköpostin lukuprotokollan avulla. TLS:llä tai ilman.LDAP (S):Curl voi toteuttaa hakemistohaun meille joko TLS:n kanssa tai ilman.MQTT:Curl tukee MQTT:n 3-versiota. Lataaminen MQTT:llä on sama kuin 'tilaa' mihin tahansa aiheeseen, ja lähettäminen/lataus on sama kuin 'julkaista' mistä tahansa aiheesta. MQTT:tä ei tueta TLS:n kautta.POP3 (S):Lataaminen pop3-palvelimen kautta tarkoittaa sähköpostin vastaanottamista ilman TLS:ää tai sen kanssa.RTMP (S):RTMP- tai Realtime Messaging Protocol -protokollaa käytetään pääasiassa palvelimen suoratoistomediaan.RTSP:Curl tukee RTSP:n 1.0-latauksia.SCP:Curl tukee SCP:n kahden scp-siirtoversiota.SFTP:Curl tukee SFTP:tä SSH:n 2-version yli.Pk-yritys (S):Curl tukee SMB:n 1-versiota lataamista ja lähettämistä varten.SMTP (S):Sisällön lähettäminen mille tahansa SMTP-palvelimelle tarkoittaa sähköpostin siirtämistä ilman TLS:ää tai sen kanssa.TELNET:Curlille ilmoittaminen tuomaan telnet-URL-osoitteen aloittaa interaktiivisen istunnon, jossa se siirtää lukemansa stdinin kautta ja johtaa sen, mitä palvelin siirtää sen.TFTP:Curl voi toteuttaa TFTP-latauksia ja -latauksia.

Curl-komennon asennus

Curl-komento tulee suurimman osan mukana Linux jakelut. Mutta jos järjestelmä ei sisällä kiharaa oletuksena. Sinun on asennettava se manuaalisesti. Asenna curl suorittamalla seuraavat komennot:

Päivitä järjestelmä suorittamalla seuraavat komennot:

 sudo apt update sudo apt upgrade 

Asenna nyt curl-apuohjelma suorittamalla alla oleva komento:

 sudo apt install curl 

Tarkista asennus suorittamalla alla oleva komento:

 curl -version 

Yllä oleva komento näyttää curl-komennon asennetun version.

Hae määritetyn URL-osoitteen sisältö

Nouda minkä tahansa tietyn URL-osoitteen sisältö suorittamalla curl-komento ja sen jälkeen URL-osoite. Harkitse alla olevaa komentoa:

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

Yllä oleva komento hakee määritetyn sivun sivutiedot. Harkitse alla olevaa tulosteen kuvaa:

Linux Curl -komento

Yllä olevasta lähdöstä voimme nähdä, että annetun URL-osoitteen sivutietoja noudetaan. Jos haluat lopettaa suorituksen, paina CTRL+C-näppäimiä.

Tallenna tiedot tiettyyn tiedostoon

Jos haluat tallentaa tiedot tiettyyn tiedostoon, välitä '-o'-vaihtoehto, jota seuraa hakemisto, tiedoston nimi ja URL seuraavasti:

 curl -o / 

Harkitse alla olevaa komentoa:

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

Yllä oleva komento tallentaa sivun tiedot linux.html-tiedostoon /home/javatpoint/Documents/-hakemistoon. Harkitse alla olevaa tulosta:

Linux Curl -komento

Yllä olevasta komennosta voimme nähdä ladattujen tietojen kokonaismäärän, vastaanotettujen tietojen, keskimääräisen ajan ja joitain muita tietoja tiedoista.

Tarkista ladatut tiedot avaamalla tiedosto suorittamalla cat-komento

 cd Documents cat linux.html 

Harkitse alla olevaa lähtökohtaa:

Linux Curl -komento

Lataa tiedosto verkosta

Yksi curlin mielenkiintoisista ja kiehtovista käyttötavoista on se, että voimme ladata tiedoston verkosta. Lataa tiedosto verkosta kopioimalla latauslinkki ja liittämällä se curl-komennolla. Voimme välittää myös muita argumentteja tarkentaaksemme sitä. Lataa esimerkiksi uusin ubuntun versio, kopioi lataa linkki ubuntun viralliselta verkkosivustolta ja liitä se curl-komennolla seuraavasti:

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

Yllä oleva komento lataa Ubuntu 20.04:n määritettyyn hakemistoon. Anna oikea tiedostopääte; muuten se lataa tiedoston eri muodossa. Harkitse alla olevaa tulosta:

Linux Curl -komento

Yllä olevasta lähdöstä ubuntu.iso-tiedostoa ladataan. Voimme nähdä latausajan, tiedostokoon, latausnopeuden ja muita tilastoja. Voit lopettaa suorituksen milloin tahansa painamalla CTRL+D-näppäimiä.

Jatka keskeytettyjä latauksia

Saattaa olla mahdollista, että lataukset keskeytyvät jostain syystä. Voimme jatkaa latauksia käyttämällä curl-komentoa. Jatka keskeytettyä tiedostoa antamalla '-C'-vaihtoehto curl-komennolla seuraavasti:

 curl -C 

Yllä oleva komento jatkaa määritetyn URL-osoitteen lataamista.

Lataa useita tiedostoja

Jos haluat ladata useita tiedostoja, määritä useat URL-osoitteet välilyönnillä erotettuina seuraavasti:

 curl -O 

Yllä oleva komento lataa tiedot molemmista URL-osoitteista.

Pyydä HTTP-otsikoita

HTTP-otsikot sisältävät lisätietoja; sen avulla verkkopalvelin voi ladata nämä tiedot. Jos haluat kysyä HTTP-otsikoita verkkosivustolta, suorita komento '-I'-vaihtoehdolla seuraavasti:

 curl -I www.javatpoint.com 

Yllä oleva komento tuottaa alla olevan tulosteen:

Linux Curl -komento