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 update
sudo 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.