logo

Curl komanda operētājsistēmā Linux ar piemēriem

Linux curl komanda tiek izmantota, lai lejupielādētu vai augšupielādētu datus serverī, izmantojot atbalstītus protokolus, piemēram, HTTP, FTP, IMAP, SFTP, TFTP, IMAP, POP3, SCP utt. Tā ir attālināta utilīta, tāpēc tā darbojas bez lietotāja iejaukšanās.

Datu pārsūtīšana no vienas vietas uz otru ir viens no svarīgākajiem un visbiežāk izmantotajiem datorsistēmas uzdevumiem. Tomēr datu pārsūtīšanai ir pieejami daudzi GUI rīki. Bet, strādājot ar komandrindu, tas kļūst nedaudz sarežģīts. Curl utilīta ļauj mums pārsūtīt datus, izmantojot komandrindu.

Curl ir komandrindas rīks, lai iegūtu un nosūtītu datus, piemēram, failus ar URL sintaksi. Tā atbalsta visus protokolus, kurus atbalsta libcurl, jo tas izmanto libcurl. Curl nodrošina HTTPS atbalstu un ievieš SSL sertifikāta verifikāciju, ja pēc noklusējuma ir minēts drošs protokols, piemēram, HTTPS. Curl parādīs attālā servera sertifikātu un pārbaudīs CA sertifikātu, lai saglabātu attālā servera derīgumu, lai garantētu, ka attālais serveris ir tāds, kādu tas pieprasa, kad curl izveido saites uz attālo serveri, izmantojot HTTPS.

Ir daudz iespēju definēt CA sertifikātu, piemēram -- kapāts un --cacert . Opciju, t.i., --cacert, var izmantot, lai norādītu CA sertifikātu krātuves faila atrašanās vietu. Ja CA sertifikāta fails nav pieejams Windows platformā, curl meklēs CA sertifikāta faila nosaukumu “curl-ca-bundle.crt” tālāk norādītajā secībā.

  • Direktorijs, kurā atrodas čokurošanās programma.
  • Pašreizējais darba direktorijs.
  • Sistēmas direktorijs (Windows).
  • Direktorija (Windows).
  • Direktoriji ir minēti %PATH% vides mainīgajos.

Curl parādīs kļūdas ziņojumu, ja attālais serveris izmanto pašparakstītu sertifikātu vai kad attālā servera sertifikāts nav parakstīts, izmantojot CA sertifikāta failā minēto CA. Opciju --insecure vai -k var izmantot, lai izlaistu sertifikāta pārbaudi. Attālo CA sertifikātu var iekļaut arī CA sertifikātu krātuves failā, ja attālais serveris ir derīgs.

Curl nodrošina daudz noderīgu triku, piemēram, failu pārsūtīšanas atsākšanu, sīkfailus, SSL savienojumus, HTTP ziņu, FTP augšupielādi, lietotāja autentifikāciju, starpniekservera atbalstu un citus. Curl ir mehanizēta ar libcurl katram ar pārsūtīšanu saistītajam aspektam.

Kas ir libcurl?

libcurl ir klienta puses bezmaksas URL pārsūtīšanas bibliotēka. Tā atbalsta SMB, SMTP, SCP, RTMP, RTSP, POP3, MQTT, LDAP, Kerberos, IMAP, HTTPS, HTTP starpniekservera tunelēšanu, HTTP PUT, HTTP POST, HTTP/1, Gopher, FTPS, FTP, DICT un sīkfailus. Bibliotēka atbalsta arī lietotāja un paroles autentifikāciju, starpniekserverus, LDAPS, HTTPS sertifikātus, HTTP veidlapas augšupielādi, FTP augšupielādi, failu pārsūtīšanas atsākšanu, TFTP, Telnet, SFTP un failu URL shēmu.

libcurl ir kompakts. Tas identiski veido un darbojas vairākās platformās, tostarp 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 un AIX.

Libcurl bibliotēka ir saderīga ar IPv6, pavedienu droša un bezmaksas. Saistības ir pieejamas arī vairāk nekā 50 valodām, tostarp Python, PHP, Java un C/C++.
Libcurl bibliotēka atbalsta SChannel, gskit uz IBM i, NSS, mbed TLS, GnuTLS operētājsistēmā Windows, Secure Trasport operētājsistēmā iOS un macOS, TLS/SSL, izmantojot OpenSSL, rustls, BearSSL, wolfSSL, AmiSSL, libressl un Boringssl.

Sintakse:

Curl lietošanas pamata sintakse ir šāda:

 curl [options] [URL...] 

No iepriekš minētās sintakses

URL:

URL sintakse ir vispārīgs no protokola atkarīgs URL. Mēs varam norādīt vairākus URL, kā norādīts tālāk.

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

Iespējas:

Komanda curl atbalsta šādas komandrindas opcijas:

--abstract-unix-socket: To izmanto, lai izveidotu savienojumu, izmantojot abstraktu Unix domēna ligzdu, nevis tīklu.

--anyauth: To izmanto, lai komandu curl autentificētu metodi, lai izmantotu visdrošāko metodi. Šī utilīta ir izvēles utilīta '--basic, --digest, --ntlm un negotiate', ko izmanto, lai iestatītu īpašu autentifikācijas metodi.

-a, --pievienot: To izmanto failu augšupielādei. Tas pievieno failu, nevis to pārraksta. Ja dotais fails serverī neeksistē, tas to izveidos.

np std

--pamata: Tas nosaka HTTP pamata autentifikācijas izmantošanu. Tā ir komandas curl noklusējuma opcija. Tas ir noderīgi, lai ignorētu iepriekšējos iestatījumus.

--cacert: Tas ir norādīts, lai izmantotu konkrēto sertifikāta failu, lai pārbaudītu vienādrangu. Failiem var būt vairāki CA sertifikāti. Sertifikātu standarta formāts ir PEM, tāpēc visiem sertifikātiem tajā ir jābūt.

--kapāts: Tas ir norādīts, lai izmantotu konkrēto direktoriju, lai pārbaudītu peer. Mēs varam norādīt vairākus ceļus, atdalot tos ar kolu (:), piemēram, “ceļš: ceļš2:ceļš3”. Sertifikātu standarta formāts ir PEM, tāpēc visiem sertifikātiem tajā jābūt.

--cert-status: To izmanto, lai pārbaudītu servera sertifikāta statusu. Tas izmanto sertifikāta statusa pieprasījumu vai OCSP skavošanas TLS.

--cert-type: Tas norāda nodrošināto čokurošanās sertifikāta veidu. Šie sertifikāti var būt PEM, DER un ENG formātā. Noklusējuma vērtība ir PEM. Ja tas ir norādīts vairākas reizes, čokurošanās uzņems pēdējo vērtību.

-E, --cert: Tas ir paredzēts klienta sertifikāta faila izmantošanai, iegūstot failu, izmantojot jebkuru uz SSL balstītu protokolu, piemēram, HTTPS, FTPS utt.

-- šifri: To izmanto, lai atlasītu savienojumā izmantojamos šifrus.

--compressed-ssh: To izmanto, lai iespējotu iebūvēto SSH saspiešanu. Šī opcija tiks pieņemta kā servera pieprasījums, tāpēc serveris to var pieņemt vai nepieņemt.

--saspiests: To izmanto, lai pieprasītu saspiestu atbildi, izmantojot čokurošanās algoritmus, un saglabā nesaspiesto dokumentu. Izmantojot šo opciju, tiks nosūtīts ziņojums par neatbalstītu kodējuma izliekumu.

-K, --config: To izmanto, lai aprakstītu teksta failu čokurošanās argumentu lasīšanai. Curl izmantos komandrindas argumentus no teksta faila.

-- savienojuma noildze : To izmanto, lai norādītu maksimālo čokurošanās savienojuma taimauta laiku sekundēs.

--Pievienot : To izmanto, lai izveidotu pieprasījumu konkrētajam resursdatora un porta pārim; pretējā gadījumā tas tiks savienots ar nākamo pāri. Šī opcija ir ērts rīks tiešu pieprasījumu veikšanai noteiktā serverī.

-C, --turpināt-pie : To izmanto, lai turpinātu vai atsāktu iepriekšējo failu pārsūtīšanu ar norādīto nobīdi.

-c, --cookie-jar: To izmanto, lai norādītu konkrētu failu, kurā mēs vēlamies ierakstīt visus sīkfailus pēc veiksmīgas darbības.

-b, --sīkfails: To izmanto, lai pārsūtītu datus uz HTTP serveri sīkfailu galvenē.

--izveidot-dirs: To lieto kopā ar '-o? opciju, tas izveidos nepieciešamo vietējo direktoriju hierarhiju.

--crlf (FTP SMTP): To izmanto, lai augšupielādē pārvērstu LF par CRLF. Tas ir ērts rīks MVS (OS/390).

--crlfile: To izmanto, lai norādītu (PEM formātā) ar sertifikātu atsaukšanas sarakstu.

--data-ascii: Tas ir aizstājvārds ?-d? opciju.

-- delegācija : To izmanto, lai iestatītu LEVEL, lai apstiprinātu serverim to, ko tam ir atļauts deleģēt, kad runa ir par lietotāja akreditācijas datiem.

-- sagremot: To izmanto, lai iespējotu HTTP Digest autentifikāciju.

-q, --atspējot: Ja to izmantos kā pirmo argumentu, tas ignorēs curlrc konfigurācijas failu.

--dns interfeiss: To izmanto, lai apstiprinātu serveri, lai nosūtītu izejošos DNS pieprasījumus.

--dns serveri: To izmanto, lai norādītu DNS serverus, nevis noklusējuma serverus.

-f, --fails: To izmanto, lai cirtas klusi neizdodas servera kļūdu gadījumā.

-F, --forma: To izmanto, lai atdarinātu lietotāja iesniegto aizpildīto veidlapu.

-P, --ftp-ports: To izmanto, lai mainītu noklusējuma klausītāja lomas, veidojot savienojumu ar FTP.

--ftp-ssl-ccc-mode: To izmanto, lai iestatītu CCC režīmu.

-G, --get: To izmanto, lai norādītu datus ar ?-d? opcija, kas jāizmanto HTTP GET pieprasījumā, nevis POST pieprasījumā.

-h, -palīdzība: To izmanto, lai parādītu palīdzības rokasgrāmatu, kurā ir īss lietošanas un atbalsta iespēju apraksts.

-0, --http1.0: Tas ir paredzēts HTTP versijas 1.0 lietošanai.

-- ignorēt satura garumu: To izmanto, lai ignorētu galveni Content-Length.

-i, --ietver: To izmanto, lai iekļautu HTTP atbilžu galvenes.

-4, --ipv4: To izmanto, lai nosaukumus atrisinātu uz IPv4 adresēm.

-6, --ipv6: To izmanto, lai nosaukumus atrisinātu uz IPv6 adresēm.

Kērlinga protokoli

Curl atbalsta vairākus protokolus:

    DICT:Tas ļauj mums meklēt vārdus tikai vārdnīcās.FTP (S):Curl atbalsta FTP protokolu, izmantojot daudz sviru un pielāgojumus. Ar vai bez TLS.FILE:Tas ļauj mums rakstīt un lasīt vietējo failu. Curl neļauj attālināti piekļūt file://URL, taču tā darbosies, kad tā būs aktīva operētājsistēmā Microsoft Windows ar vietējo UNC pieeju.GOFERS (S):Tas izgūst failus.HTTP (S):Curl atbalsta HTTP, izmantojot daudzas variācijas un opcijas. Tas var runāt 0.9, 1.0, 1.1, 2 un 3 HTTP versijās atkarībā no precīzās komandrindas un veidošanas opcijām.IMAP (S):Curl lejupielādē mūsu vietā e-pasta ziņojumus, izmantojot pasta lasīšanas protokolu. Ar vai bez TLS.LDAP (S):Curl var ieviest direktoriju uzmeklēšanu, izmantojot vai neizmantojot TLS.MQTT:Curl atbalsta MQTT 3 versiju. Lejupielāde MQTT ir tāda pati kā 'abonēt' uz jebkuru tēmu, un ievietošana/augšupielāde ir tāda pati kā 'publicēt' par jebkuru tēmu. Izmantojot TLS, MQTT netiek atbalstīts.POP3 (S):Lejupielāde, izmantojot pop3 serveri, nozīmē pasta saņemšanu bez TLS vai ar TLS.RTMP (S):RTMP jeb Realtime Messaging Protocol galvenokārt tiek izmantots servera straumēšanas multividei.RTSP:Curl atbalsta 1.0 RTSP lejupielādes.SCP:Curl atbalsta SCP divu scp pārsūtīšanas versiju.SFTP:Curl atbalsta SFTP, izmantojot SSH 2 versiju.MVU (S):Curl atbalsta 1 SMB versiju lejupielādei un augšupielādei.SMTP (S):Satura augšupielāde jebkurā SMTP serverī nozīmē e-pasta pārsūtīšanu bez TLS vai ar TLS.TELNET:Informējot curl par telnet URL ieviešanu, tiek sākta interaktīva sesija, kurā tā pārsūta nolasīto, izmantojot stdin, un iegūst to, ko serveris to pārsūta.TFTP:Curl var ieviest TFTP augšupielādes un lejupielādes.

Uzstādīšana čokurošanās komanda

Cirtināšanas komanda nāk kopā ar lielāko daļu Linux sadales. Bet, ja sistēma pēc noklusējuma nenes čokurošanos. Jums tas jāinstalē manuāli. Lai instalētu loku, izpildiet šādas komandas:

Atjauniniet sistēmu, izpildot šādas komandas:

 sudo apt update sudo apt upgrade 

Tagad instalējiet čokurošanās utilītu, izpildot tālāk norādīto komandu:

 sudo apt install curl 

Pārbaudiet instalāciju, izpildot tālāk norādīto komandu:

 curl -version 

Iepriekš minētā komanda parādīs instalētās curl komandas versiju.

Ienesiet norādītā URL saturu

Lai iegūtu jebkura konkrēta URL saturu, izpildiet komandu curl, kam seko URL. Apsveriet tālāk norādīto komandu:

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

Iepriekš minētā komanda ienesīs norādītās lapas lapas datus. Apsveriet tālāk redzamo izvades momentu:

Linux Curl komanda

No iepriekš minētās izvades mēs varam redzēt, ka tiek iegūti norādītā URL lapas dati. Lai apturētu izpildi, nospiediet taustiņu kombināciju CTRL+C.

Saglabājiet datus noteiktā failā

Lai saglabātu datus noteiktā failā, ievadiet opciju “-o”, kam seko direktorijs, faila nosaukums un URL, kā norādīts tālāk.

 curl -o / 

Apsveriet tālāk norādīto komandu:

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

Iepriekš minētā komanda saglabās lapas datus failā 'linux.html' direktorijā '/home/javatpoint/Documents/'. Apsveriet tālāk norādīto izvadi:

Linux Curl komanda

No iepriekš minētās komandas mēs varam redzēt kopējo lejupielādēto datu apjomu, saņemtos datus, vidējo laiku un dažus citus statistikas datus par datiem.

Lai pārbaudītu lejupielādētos datus, atveriet failu, izpildot komandu cat

 cd Documents cat linux.html 

Apsveriet tālāk redzamo izvades momentu:

Linux Curl komanda

Lejupielādējiet failu no tīmekļa

Viens no interesantajiem un aizraujošajiem čokurošanās lietojumiem ir tas, ka mēs varam lejupielādēt failu no tīmekļa. Lai lejupielādētu failu no tīmekļa, kopējiet lejupielādes saiti un ielīmējiet to ar komandu curl. Mēs varam nodot arī citus argumentus, lai padarītu to precīzāku. Piemēram, lejupielādējiet jaunāko ubuntu versiju, kopējiet lejupielādes saite ubuntu no tās oficiālās vietnes un ielīmējiet to ar curl komandu šādi:

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

Iepriekš minētā komanda lejupielādēs Ubuntu 20.04 norādītajā direktorijā. Norādiet pareizo faila paplašinājumu; pretējā gadījumā tas lejupielādēs failu citā formātā. Apsveriet tālāk norādīto izvadi:

Linux Curl komanda

No iepriekš minētās izvades tiek lejupielādēts fails ubuntu.iso. Mēs varam redzēt lejupielādes laiku, faila lielumu, lejupielādes ātrumu un citu statistiku. Lai apturētu izpildi, jebkurā laikā nospiediet taustiņus CTRL+D.

Atsākt pārtrauktās lejupielādes

Var būt iespēja, ka kāda iemesla dēļ lejupielāde var tikt pārtraukta. Mēs varam atsākt lejupielādi, izmantojot komandu curl. Lai atsāktu pārtrauktā faila darbību, nododiet opciju “-C” ar komandu curl šādi:

 curl -C 

Iepriekš minētā komanda atsāks norādītā URL lejupielādi.

Lejupielādēt vairākus failus

Lai lejupielādētu vairākus failus, norādiet vairākus URL, atdalot tos ar atstarpi, šādi:

 curl -O 

Iepriekš minētā komanda lejupielādēs datus attiecīgi no abiem URL.

Vaicājiet HTTP galvenes

HTTP galvenes satur papildu informāciju; tas ļauj tīmekļa serverim lejupielādēt šo informāciju. Lai vaicātu HTTP galvenes no vietnes, izpildiet komandu ar opciju “-I” šādi:

 curl -I www.javatpoint.com 

Iepriekš minētā komanda radīs šādu izvadi:

Linux Curl komanda