Kā lietot Curl Command operētājsistēmā Linux

Plašs ceļvedis, kas izskaidro curl komandas izmantošanu, lai ielādētu tīmekļa lapas un lejupielādētu failus tieši no termināļa

The čokurošanās komanda ir vēl viena interesanta komandrindas utilīta, ko jums var piedāvāt Linux. čokurošanās komanda ļauj lietotājam ienest failus no servera.

čokurošanās ir populāra lietojumprogrammu izstrādātāju un bieži lietotu Linux lietotāju izvēle, jo tā atbalsta vairākus protokolus, piemēram, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, HTTP, HTTPS, FTP, FTPS, IMAP, IMAPS, DICT, FILE, GOPHER, LDAP, LDAPS, POP3, POP3S utt.

čokurošanās komanda dara daudz vairāk, nekā tikai ienes tīmekļa lapas jūsu vietā. Zinot ar šo komandu pieejamās opcijas, tā ir daudzpusīgāka jūsu lietošanai. Ļaujiet mums iedziļināties pamācībā, lai iegūtu labu priekšstatu par lietošanu čokurošanās komandu, izmantojot dažus īsus piemērus.

Uzstādīšana

Pirms lietošanas čokurošanās komandu, pārbaudiet, vai tā jau ir instalēta jūsu sistēmā. Izmantojiet komandu čokurošanās -- versija lai pārbaudītu, vai čokurošanās ir uzstādīts.

Gadījumā, ja čokurošanās nav instalēts, veiciet tālāk norādītās darbības.

Uz Ubuntu un Debian balstītām sistēmām izmantot:

sudo apt-get atjauninājums
sudo apt-get install curl

RHEL, CentOs un Fedora distros izmantot:

sudo yum instalēt curl

Tagad izmantojiet čokurošanās -- versija komandu, lai pārliecinātos, ka tā ir pareizi instalēta.

čokurošanās -- versija

Izvade:

curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2.2/1.30 0 librtmp / 2.3 Izdošanas-Date: 2018/01/24 protokoli: dict fails ftp ftps susliks http https imap imaps LDAP ldaps pop3 POP3S RTMP rtsp sMB SMBs SMTP SMTPS telnet TFTP funkcijas: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS starpniekserveris PSL gaurav@ubuntu:~$ 

Tagad mēs esam gatavi lietošanai čokurošanās komandu.

Opcijas ir pieejamas ar komandu CURL

Vispirms apskatīsim dažas no ievērojamākajām iespējām, kas pieejamas ar čokurošanās komandu.

OpcijaApraksts
-ulai lejupielādētu failus no FTP servera
-Clai atsāktu pārtrauktu lejupielādi
-olai saglabātu rezultātu čokurošanās komanda ar iepriekš definētu faila nosaukumu
-Eslai iegūtu noteikta URL HTTP galvenes
-Olai saglabātu rezultātu čokurošanās komandu ar sākotnējo faila nosaukumu
--libcurllai izvadītu izmantoto C avota kodu libcurl norādītajai opcijai
-xlai izmantotu starpniekserveri, lai piekļūtu URL
-#lai parādītu progresa joslu, lai parādītu lejupielādes statusu

Tīmekļa lapas izgūšana, izmantojot CURL

The čokurošanās komanda, ja to lieto bez opcijas, ienes komandā norādītā URL saturu.

Sintakse:

čokurošanās [URL]

Piemērs:

čokurošanās //viss.kā

Izvade:

gaurav@ubuntu:~$ curl //allthings.how html{overflow-x:hidden!important}html.i-amphtml-fie{height:100%!important;width:100%!important}html:not([amp4ads ]),html:not([amp4ads]) body{height:auto!important}html:not([amp4ads]) body{margin:0!important}body{-webkit-text-size-adjust:100%;- moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html.i-amphtml-singledoc.i-amphtml-embedded{-ms-touch -action:pan-y;touch-action:pan-y}html.i-amphtml-fie>body,html.i-amphtml-singledoc>body{overflow:visible!important}html.i-amphtml-fie:not (.i-amphtml-inabox)>body,html.i-amphtml-singledoc:not(.i-amphtml-inabox)>body{position:relative!important}html.i-amphtml-webview>body{overflow-x :hidden!important;overflow-y:visible!important;min-height:100vh!important}html.i-amphtml-ios-embed-legacy>body{overflow-x:hidden!important;overflow-y:auto!important ;position:absolute!important}html.i-amphtml-ios-embed{overflow-y:auto!important;position:static}#i-amphtml-wrapper{overflow-x:hidden!important;over flow-y:auto!important;pozīcija:absolūti!svarīgi;augšpusē:0!svarīgi;pa kreisi:0!svarīgi;pa labi:0!svarīgi;apakšā:0!svarīgi;margin:0!svarīgi;displejs:bloks!svarīgi} html.i-amphtml-ios-embed.i-amphtml-ios-overscroll,html.i-amphtml-ios-embed.i-amphtml-ios-overscroll>#i-amphtml-wrapper{-webkit-overflow-scrolling: touch!important}#i-amphtml-wrapper>body{position:relative!important;border-top:1px solid caurspīdīgs!important}#i-amphtml-wrapper+body{visibility:visible}#i-amphtml-wrapper+body .i-amphtml-lightbox-element,#i-amphtml-wrapper+body[i-amphtml-lightbox]{visibility:hidden}#i-amphtml-wrapper+body[i-amphtml-lightbox] .i-amphtml-lightbox -element{visibility:visible}#i-amphtml-wrapper.i-amphtml-scroll-disabled,.i-amphtml-scroll-disabled{overflow-x:hidden!important;overflow-y:hidden!important}amp-instagram {padding:54px 0px 0px!important;background-color:#fff}amp-iframe iframe{box-sizing:border-box!important}[amp-access][amp-access-hide]{display:none}[abonementi -dialogs],body:not(.i-amphtml-s ubs-ready) [abonementi-darbība],body:not(.i-amphtml-subs-ready) [abonementu sadaļa]{display:none!important}amp-experiment,amp-live-list>[update]{display :none}.i-amphtml-jank-meter{position:fixed;background-color:rgba(232,72,95,0.5);bottom:0;right:0;color:#fff;font-size:16px; z-index:1000;padding:5px}amp-list[resizable-children]>.i-amphtml-loading-container.amp-hidden{display:none!important}amp-list [fetch-error],amp-list [load-more] [load-more-button],amp-list[load-more] [load-more-end],amp-list[load-more] [load-more-failed],amp-list[load -vairāk] [load-more-loading]{display:none}amp-list[diffable] div[role=list]{display:block}amp-story-page,amp-story[savrups]{min-height:1px !svarīgi;displejs:bloks!svarīgi;augstums:100%!svarīgi;margin:0!svarīgi;polsterējums:0!svarīgi;pārplūde:slēpts!svarīgi;width:100%!svarīgi}amp-story[savrupais]{fons- color:#202125!important;position:relative!important}amp-story-page{background-color:#757575}amp-story .amp-active>div,amp-story .i-amphtm l-loader-background{display:none!important}amp-story-page:not(:first-of-type):not([attālums]):not([aktīvs]){transform:translateY(1000vh)!important }amp-autocomplete{position:relative!important;display:inline-block!important}amp-autocomplete>input,amp-autocomplete>textarea{padding:0.5rem;border:1px solid rgba(0,0,0,0.33) }.i-amphtml-autocomplete-results,amp-autocomplete>input,amp-autocomplete>textarea{font-size:1rem;line-height:1.5rem}[amp-fx^=fly-in]{visibility:hidden} amp-script[nodom]{position:fixed!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;visibility:hidden} 

Šeit tīmekļa lapas saturs tiek ielādēts tieši jūsu terminālā kā avota kods.

Varat izmantot opcijas -o un -O Ar čokurošanās komanda, lai saglabātu šo saturu failā.

Kad -o Ja tiek izmantota opcija, URL saturs tiek saglabāts jūsu pašreizējā direktorijā ar lietotāja definētu faila nosaukumu.

Sintakse:

curl -o [lietotāja definēts_faila nosaukums] [URL]

Piemērs:

gaurav@ubuntu:~/workspace$ curl -o ath.html //allthings.how % Kopā % Saņemtie % Xferd Vidējais ātrums Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopā iztērēts Atlikušais ātrums 100 199k 100 199k 0 0 58743 0 0:00:03 0:00:03 --:--:-- 58743 gaurav@ubuntu:~/workspace$ ls ath.html gaurav@ubuntu:~/workspace$ 

Šajā piemērā saturs no URL “allthings.how” tiek saglabāts kā HTML fails ar nosaukumu ath.html manā pašreizējā darba direktorijā. Atverot šo HTML failu, es tikšu novirzīts uz saglabāto tīmekļa lapu.

Failu lejupielāde, izmantojot CURL komandu

Izmantojot -O opcija ar komandu curl arī saglabā saturu vai tīmekļa lapu vai lejupielādējamu pakotni kā failu, bet saglabā šo failu ar tā sākotnējo nosaukumu.

Apskatīsim to, izmantojot piemēru:

Piemērs:

Šeit es izmantoju čokurošanās komanda ar -O iespēja lejupielādēt Ubuntu pakotni ar nosaukumu "ķiršu koks_0.37.6-1.1_all.debno Ubuntu pakotņu krātuves.

gaurav@ubuntu:~/workspace$ curl -O //kr.archive.ubuntu.com/ubuntu/pool/universe/c/cherrytree/cherrytree_0.37.6-1.1_all.deb % Kopējais saņemtais % % Xferd Vidējais ātrums Laiks Laiks Pašreizējā lejupielādes augšupielāde Kopējais iztērētais atlikušais ātrums 100 613 k 100 613 k 0 0 220 k0 0:00:02 0:00:02 --:--:-- 220 k gaurav@ubuntu:~/workspace$

Izvade:

trinity@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb trinity@ubuntu:~/workspace$

Tātad pakotne tagad ir lejupielādēta un saglabāta pašreizējā darba direktorijā (CWD) ar tās sākotnējo nosaukumu.

Progresa joslas parādīšana faila lejupielādes laikā

Lietojot, ir pieejama vēl viena estētiskā modifikācija čokurošanās komanda, lai lejupielādētu failu. Faila lejupielādes gaitu varat skatīt termināļa progresa joslas veidā. Jums vienkārši jāpievieno -# opciju ar komandu, lai lejupielādētu failu.

Apskatīsim šīs korekcijas piemēru.

Sintakse:

čokurošanās -# -O [URL]

Piemērs:

gaurav@ubuntu:~/workspace$ curl -# -O //archive.ubuntu.com/ubuntu/pool/main/e/emacs-defaults/emacs-defaults_47.0.tar.xz ######## ################################################# ################################################# ################################### 100,0% gaurav@ubuntu:~/workspace$ 

Izvade:

gaurav@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb emacs-defaults_47.0.tar.xz gaurav@ubuntu:~/workspace$ 

Šajā izvadē varat novērot, ka esmu lejupielādējis pakotni ar nosaukumu "emacs-defaults_47.0.tar.xzManā CWD, un lejupielādes laikā terminālī tiek parādīta progresa josla.

Tiek atsākta pārtrauktā lejupielāde pakalpojumā CURL

Daudzas reizes var rasties situācija, kad jums ir jālejupielādē lielāka izmēra faili. Dažreiz dažu iemeslu dēļ, piemēram, strāvas padeves vai tīkla atteices dēļ, lejupielāde var tikt pārtraukta procesa vidū, nelejupielādējot visu failu. Pat ja jūs nospiežat Ctrl+C terminālī process tiek pārtraukts.

The čokurošanās komandu, ja to lieto kopā ar -C opcija atsāk pārtraukto lejupielādi.

Sintakse:

čokurošanās -C - -O [URL]

Piemērs:

Šajā ilustrācijā esmu mēģinājis lejupielādēt Ubuntu 20.04 ISO attēlu no Ubuntu vietnes.

gaurav @ ubuntu: ~ / darbvietas $ curl -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.1600250922-1570904140.1591164974% Kopā% Saņemtā% Xferd vidējais ātrums Laiks Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopējais iztērētais kreisais ātrums 0 2656M 0 1744k 0 0 87038 0 8:53:17 0:00:20 8:52:57 77726^C

Šeit es apzināti pārtraucu lejupielādes procesu Ctrl+C.

Tagad es izmantošu -C opcija ar čokurošanās komandu, lai atsāktu pārtraukto lejupielādi no tās pašas avota vietnes.

Izvade:

from gaurav@ubuntu:~/workspace$ curl -C - -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.11884532.11884532.11880 transfer**1184373179.118um transfer**17um 1409251409225.160025 baita pozīcija 1851392 % Kopā % Saņemtie % Xferd Vidējais ātrums Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopējais iztērētais kreisais ātrums 0 2654M 0 20.2M 0 0 57940 0 13:20:35 0:06:06 13:14:28 988

Lejupielāde ir paņemta no vietas, kur tā tika pārtraukta.

Failu lejupielāde no FTP servera, izmantojot CURL

Tas ir diezgan viegli ar čokurošanās komanda, lai lejupielādētu failu no FTP servera, izmantojot -u opciju. Pirms URL ievadīšanas komandā ir jāievada lietotājvārds un parole.

Sintakse:

curl -u [lietotājvārds]:[parole] [URL]

Ilustrācijai es izmantošu tiešsaistes publisko FTP.

Piemērs:

gaurav@ubuntu:~/workspace$ curl -O -u [email protected]:eUj8GeW55SvYaswqUyDSm5v6N ftp://ftp.dlptest.com/16-Sep-20-16-0-0.csv % Kopējais % Saņemtais % Xferd Aver Ātrums Laiks Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopējais iztērētais Atlikušais ātrums 100 390 100 390 0 0 93 0 0:00:04 0:00:04 --:--:-- 93 gaurav@ubuntu:~/workspace$

Šeit es esmu lejupielādējis failu ar nosaukumu "16-Sep-20-16-0-0.csv’ no šī ftp servera un saglabāju to ar sākotnējo nosaukumu manā CWD. Es pārbaudīšu lejupielādēto failu, izmantojot ls komandu.

gaurav@ubuntu:~/workspace$ ls -al kopā 1092 drwxrwxr-x 3 gaurav gaurav 4096 Sep 16 16:15 . drwxr-xr-x 87 gaurav gaurav 266240 16. septembris 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 16. septembris 16:15 16-septembris 20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 204429 16. septembris 11:45 ath.html gaurav@ubuntu:~/workspace$

Vairāku failu lejupielāde kopā, izmantojot CURL

Vairāku failu lejupielāde vienlaikus, izmantojot čokurošanās komanda ir ļoti vienkāršs uzdevums. Jūs vienkārši izmantojiet -O opcija ar čokurošanās komanda ir līdzīga iepriekšminētajos blokos.

Sintakse:

čokurošanās -O [URL-1] -O [URL-2] -O[URL-n]

Piemērs:

gaurav@ubuntu:~/workspace$ curl -O //archive.ubuntu.com/ubuntu/pool/universe/a/aegean/aegean_0.15.2+dfsg-1.debian.tar.xz -O //archive.ubuntu. com/ubuntu/pool/main/a/apache2/apache2_2.4.29.orig.tar.gz % Kopā % Saņemtie % Xferd Vidējais ātrums Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopā iztērēts Atlikušais ātrums 100 63500 100 63500 0 0 550:580 :01 0:00:01 --:--:-- 55458 100 8436k 100 8436k 0 0 123k 0 0:01:08 0:01:08 --:--:-- 127k gaurav@ubuntu:~/workspace $ 

Šajā piemērā esmu lejupielādējis divas dažādas pakotnes no Ubuntu krātuves.

Izvade:

gaurav@ubuntu:~/workspace$ ls -al kopā 9596 drwxrwxr-x 3 gaurav gaurav 4096 Sep 16 16:28 . drwxr-xr-x 87 gaurav gaurav 266240 16. septembris 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 16. septembris 16:15 16-septembris 20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 63500 16. septembris 16:28 aegean_0.15.2+dfsg-1.debian.tar.xz -rw-r--r-- 1 gaurav gaurav 8638793 16. septembris 16:29 apache.29 orig.tar.gz -rw-r--r-- 1 gaurav gaurav 204429 16. septembris 11:45 ath.html gaurav@ubuntu:~/workspace$ 

Abas pakotnes tiek lejupielādētas vienlaikus, izmantojot komandu curl.

Notiek URL ar CURL HTTP galveņu iegūšana

Jebkura URL HTTP galveņu laukos ir ietverta noderīga informācija, piemēram, lietotāja aģents, satura veids, kodējums utt. Šie galvenes faili sniedz arī informāciju par ziņojuma pamattekstā nosūtīto objektu. Sīkāka informācija par pieprasījumu un atbildi tiek iegūta arī no šīm HTTP galvenēm.

Tu vari izmantot čokurošanās komanda ar -Es opciju, lai iegūtu šīs URL HTTP galvenes.

Sintakse:

čokurošanās -I [URL]

Piemērs:

gaurav@ubuntu:~/workspace$ curl -I www.firefox.com HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 P3P: CP="Šī nav P3P politika! Plašāku informāciju skatiet vietnē g.co/p3phelp." Datums: trešdiena, 2020. gada 16. septembris 11:17:00 GMT Serveris: gws X-XSS aizsardzība: 0 X Frame opcijas: SAMEORIGIN pārsūtīšanas kodējums: gabalos. Derīguma termiņš: trešdiena, 2020. gada 16. septembris, 11:17:00 GMT. Kontrole: privāts Set-Cookie: 1P_JAR=2020-09-16-11; beidzas = piektdien, 2020. gada 16. oktobris, 11:17:00 GMT; ceļš=/; domēns=.google.com; Secure Set-cookie: NID = 204 = SpeHTVXkKYwe6uaKYLsPWmCA0A-sGb94c9jpbw067e7uhyeJnkap6TFEIESztwLOEst7KcDSBLgGrokh1EM2IZi2VPVzllH0tsvCu-QbKiunPoPJ6dD7oAnB7rxu30rAiO630vYm6SG1zbmGgxNEiB-adXp24h7iEoSq9WsjrGg; beidzas = ceturtdien, 2021. gada 18. martā, 11:17:00 GMT; ceļš=/; domēns=.google.com; HttpOnly gaurav@ubuntu:~/workspace$

Šajā piemērā esmu ieguvis HTTP galvenes "www.firefox.com‘.

C avota koda iegūšana, izmantojot CURL

Izmantojot čokurošanās komandu ar --libcurl opcija var iegūt C avota kodu. Nespeciālistiem lietotājiem tas nav īpaši noderīgi, taču var izrādīties ļoti noderīgi sistēmu programmētājiem, drošības analītiķiem un lietojumprogrammu izstrādātājiem.

Sintakse:

curl [URL] > faila nosaukums --libcurl [koda_faila nosaukums]

Piemērs:

Šajā piemērā esmu ieguvis URL saturu viss.kā un saglabāja to failā ar nosaukumu gy_ath.html. C avota kods tiek glabāts atsevišķi avots.c failu.

curl //www.allthings.how > gy_ath.html --libcurl source.c 

Izvade:

gaurav@ubuntu:~/workspace$ curl //www.allthings.how > gy_ath.html --libcurl source.c % Kopā % Saņemtie % Xferd Vidējais ātrums Laiks Laiks Pašreizējā lejupielāde Augšupielāde Kopējais iztērētais kreisais ātrums 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 gaurav@ubuntu:~/workspace$

Tagad pārbaudīsim lejupielādētos failus.

gaurav@ubuntu:~/workspace$ ls -al kopā 404 drwxrwxr-x 3 gaurav gaurav 4096 16. septembris 17:08 . drwxr-xr-x 87 gaurav gaurav 266240 16. septembris 10:22 .. -rw-r--r-- 1 gaurav gaurav 0 16. septembris 17:13 gy_ath.html -rw-r--r-- 1 gaurav5 gaurav 153 16. septembrī 17:13 source.c gaurav@ubuntu:~/workspace$

The avots.c fails satur avota kodu. To var parādīt terminālī, izmantojot kaķis komandu. Zemāk dotajā blokā esmu ievietojis dažas rindiņas no izvades.

C sourcegaurav@ubuntu:~/workspace$ cat source.c /********* Parauga kods, ko ģenerē curl komandrindas rīks ********** * Visas curl_easy_setopt() opcijas ir dokumentētas vietnē: * //curl.haxx.se/libcurl/c/curl_easy_setopt.html ******************************** ****************************************/ #include int main(int argc, char *argv[]) { CURLcode ret; CURL *hnd; hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L); curl_easy_setopt(hnd, CURLOPT_URL, "//www.visaslietas.kā"); curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.58.0"); curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);

Starpniekservera izmantošana programmā CURL, lai piekļūtu vietrādim URL

Kā minēts ievadā, čokurošanās komanda atbalsta plašu protokolu klāstu, piemēram, FTP, SMTP, HTTPS, SOCKS utt. Dažreiz starpniekservera izmantošana failu pārsūtīšanai kļūst svarīga, ja vēlaties palielināt pārsūtīšanas ātrumu un arī aizsargāt savu identitāti. čokurošanās komandu var viegli izmantot, lai pārsūtītu failus, izmantojot starpniekserveri, pievienojot -x opcija tai.

Piemērs:

curl -x [starpniekservera_adrese]:[ports] [URL]

Iepriekš minētajā piemērā es pieņēmu, ka jūsu starpniekserveram nav nepieciešama autentifikācija. Ja starpniekserveram ir nepieciešama autentifikācija, lai sāktu pārsūtīšanu, varat izmantot šo komandu.

curl -u [lietotājvārds]:[parole] -x [starpniekservera_adrese]:[ports] [URL]

Izmantojot šo vienkāršo metodi, mēs varam pārsūtīt failus caur starpniekserveri ar opciju -x lietots ar čokurošanās komandu.

Secinājums

Šajā īsajā apmācībā mēs uzzinājām, kā čokurošanās komanda izrādās noderīga, lejupielādējot saturu tieši no termināļa. Mēs arī uzzinājām par dažādām opcijām, kas pieejamas ar šo komandu, ko izmantot dažādiem uzdevumiem.