Comanda Curl în Linux cu exemple

curl este un utilitar de linie de comandă pentru transferul de date de la sau la un server proiectat să funcționeze fără interacțiunea cu utilizatorul. Cu curl, puteți descărca sau încărca date utilizând unul dintre protocoalele acceptate, inclusiv HTTP, HTTPS , SCP , SFTP și FTP . curl oferă o serie de opțiuni care vă permit să reluați transferurile, să limitați lățimea de bandă, suportul proxy, autentificarea utilizatorului și multe altele.,în acest tutorial, vă vom arăta cum să utilizați instrumentul curl prin exemple practice și explicații detaliate ale celor mai comune opțiuni de curl.

Installing Curl #

pachetul curl este preinstalat pe majoritatea distribuțiilor Linux de astăzi.

pentru a verifica dacă pachetul Curl este instalat pe sistemul dvs., deschideți consola, tastați curl și apăsați enter. Dacă aveți curl instalat, sistemul va imprima curl: try 'curl --help' or 'curl --manual' for more information. În caz contrar, veți vedea ceva de genul curl command not found.,

dacă curl nu este instalat, îl puteți instala cu ușurință folosind managerul de pachete al distribuției dvs.

Install Curl pe Ubuntu și Debian #

sudo apt updatesudo apt install curl

Install Curl pe CentOS si Fedora #

sudo yum install curl

Cum să Utilizați Curl #

sintaxa pentru curl comanda este după cum urmează:

curl 

În forma sa cea mai simplă, atunci când este invocată, fără nici o opțiune, curl afișează specificată de resurse la ieșirea standard.,

De exemplu, pentru a prelua example.com pagina de start te-ar alerga:

curl example.com

comanda va imprima codul sursă al example.com pagina de start în fereastră terminal.

Dacă nu protocolul este specificat, curl încearcă să ghicească protocolul pe care doriți să utilizați, și se va implicit la HTTP.

de a Salva de Ieșire într-un Fișier #

Pentru a salva rezultatul de curl comandă, utilizați fie -o sau -O opțiune.,

Mici -o salvează fișierul cu un nume stabilit anterior, care, în exemplul de mai jos este vue-v2.6.10.js:

curl -o vue-v2.6.10.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Mari -O salvează fișierul cu numele fișierului original:

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Descarcă mai Multe fișiere #

Pentru a descărca mai multe fișiere la o dată, utilizați mai multe -O opțiuni, urmat de URL-ul către fișierul pe care doriți să descărcați.,

în exemplul următor descărcăm fișierele iso Arch Linux și Debian:

reluați o descărcare #

Puteți relua o descărcare utilizând opțiunea -C -. Acest lucru este util dacă conexiunea dvs. scade în timpul descărcării unui fișier mare și, în loc să începeți descărcarea de la zero, puteți continua cea anterioară.

de exemplu, dacă descărcați Ubuntu 18.,04 iso fișier folosind următoarea comandă:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

și dintr-o dată conexiunea scade puteți relua descărcarea cu:

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

Ia HTTP Anteturile de un URL #

HTTP anteturile sunt separate prin virgulă perechi cheie-valoare, care conțin informații, cum ar fi agent de utilizator, tipul de conținut, și de codificare. Anteturile sunt transmise între client și server cu cererea sau răspunsul.,el a precizat resurse:

curl -I --http2 https://www.ubuntu.com/

a Testa dacă un Site Suporta HTTP/2 #

Pentru a verifica dacă un anumit URL sprijină noua HTTP/2 protocol , prelua Antetele HTTP cu -I împreună cu --http2 opțiune:

curl -I --http2 -s https://linuxize.com/ | grep HTTP

-s opțiune spune curl pentru a rula într-un silent (silențios) și pentru a ascunde indicatorul de progres și mesaje de eroare.,

Dacă serverul de la distanță acceptă HTTP/2, curl printuri HTTP/2.0 200:

HTTP/2 200

în caz Contrar, răspunsul este HTTP/1.1 200:

HTTP/1.1 200 OK

Dacă aveți curl versiune 7.47.0 sau mai nou, nu trebuie să utilizați --http2 opțiune pentru HTTP/2 este activată în mod implicit pentru toate conexiunile HTTPS.

urmați redirecționările #

în mod implicit, curl nu urmărește anteturile locației HTTP.,el a paginii veți fi redirecționat la www versiune:

curl google.com

-L opțiune instruiește curl să urmeze orice redirecționare, până când ajunge la destinația finală:

curl -L google.com

Schimba User-Agent #

Uneori, atunci când descărcați un fișier, serverul de la distanță poate fi setat pentru a bloca Curl User-Agent, sau pentru a reveni conținut diferit în funcție de vizitator dispozitiv și browser-ul.,

în situații ca aceasta pentru a emula un browser diferit, utilizați opțiunea -A.

de exemplu, Pentru a emulează Firefox 60 ai folosi:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://getfedora.org/

Specifica o Rată Maximă de Transfer #

--limit-rate opțiune vă permite pentru a limita rata de transfer de date. Valoarea poate fi exprimată în bytes, kilobytes cu k sufix, megaocteți cu m sufix, și gigabytes cu g sufix.,

În exemplul următor curl va descărca Du-te binar și pentru a limita viteza de download de până la 1 mb:

curl --limit-rate 1m -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

Această opțiune este utilă pentru a preveni curl consuma toate lățime de bandă disponibilă.

Transfer de Fișiere prin FTP #

Pentru a accesa un protejat server FTP cu curl, folosiți -u opțiune și specificați numele de utilizator și parola, așa cum se arată mai jos:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Odată autentificat, comanda listează toate fișierele și directoarele din directorul home al utilizatorului.,

puteți descărca un singur fișier de la un server FTP folosind următoarea sintaxă:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Pentru a încărca un fișier de la un server FTP, folosiți -T urmat de numele fișierului pe care doriți să încărcați:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Trimite Cookie-uri #

Uneori s-ar putea nevoie pentru a face o cerere HTTP cu anumite cookie-uri pentru a accesa o resursă la distanță sau pentru a depana o problemă.

în mod implicit, atunci când solicitați o resursă cu curl, nu sunt trimise sau stocate cookie-uri.,

pentru a trimite cookie-uri către server, utilizați comutatorul -b urmat de un nume de fișier care conține cookie-urile sau un șir.

De exemplu, pentru a descărca Oracle Java JDK rpm fișierul jdk-10.0.2_linux-x64_bin.rpm va trebui să treacă un cookie numit oraclelicense cu valoarea a:

Folosind Proxy-uri #

curl acceptă diferite tipuri de proxy-uri, inclusiv HTTP, HTTPS și ȘOSETE., Pentru a transfera date printr-un server proxy, utilizați opțiunea -x (--proxy), urmată de URL-ul proxy.,

comanda următoare popularitate resursa specificată folosind un proxy pe 192.168.44.1 port 8888:

curl -x 192.168.44.1:8888 http://linux.com/

Dacă serverul proxy necesită autentificare, folosiți -U (--proxy-user) opțiunea urmat de numele de utilizator și parola separate printr-o virgulă (user:password):

curl -U username:password -x 192.168.44.1:8888 http://linux.com/

Concluzie #

curl este un instrument de linie de comandă care vă permite să transferați date de la sau la o gazdă de la distanță., Este util pentru rezolvarea problemelor, descărcarea fișierelor și multe altele.

exemplele prezentate în acest tutorial sunt simple, dar demonstreze cele mai utilizate curl opțiuni și sunt menite să vă ajute să înțelegeți cum curl comanda de lucru.

Pentru mai multe informații despre curl vizitați pagina de documentație Curl.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *