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:
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:
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:
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:
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:
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: