Exemplu Utilizează Comanda Linux Curl

În acest ghid, vi se va arăta cum să utilizați comanda curl pentru a descărca fișiere și pagini web. Dacă doriți să știți ce este curl și când ar trebui să-l utilizați peste wget citiți această pagină .

Comanda curl poate fi folosită pentru a transfera fișiere utilizând un număr de formate diferite, inclusiv http, https, ftp și chiar smb.

Acest ghid vă va arăta cum să utilizați comanda și vă va prezenta un număr de comutatoare și caracteristici cheie.

Aplicație de comandă de bază curl

Comanda curl poate fi folosită pentru a descărca fișiere de pe internet, dar în forma sa de bază, puteți descărca conținutul paginii web direct în fereastra terminalului.

De exemplu, introduceți următoarea comandă într-o fereastră terminală:

curl http://linux.about.com/cs/linux101/g/curl.htm

Ieșirea se va derula în sus în fereastra terminalului și vă va afișa codul paginii web asociate.

Evident, pagina se derulează prea repede pentru a citi și astfel dacă doriți să o încetiniți, ar trebui să utilizați fie comanda mai mică , fie cea mai mare comandă .

curl http://linux.about.com/cs/linux101/g/curl.htm | Mai Mult

Ieșire Conținutul curlului la un fișier

Problema cu utilizarea comenzii de bază curl este că textul se derulează foarte rapid și dacă descărcați un fișier, cum ar fi o imagine ISO, atunci nu doriți ca acest lucru să meargă la ieșirea standard.

Pentru a salva conținutul într-un fișier, tot ce trebuie să faceți este să specificați comutatorul minus o (-o) după cum urmează:

curl -o

Prin urmare, pentru a descărca pagina în legătură cu secțiunea de utilizare a comenzii de bază, tot ce trebuie să faceți este să introduceți următoarea comandă:

curl -o curl.htm http://linux.about.com/cs/linux101/g/curl.htm

După ce fișierul a fost descărcat, îl puteți deschide într-un editor sau programul prestabilit determinat de tipul fișierului.

Puteți simplifica acest lucru mai departe utilizând comutatorul minus O (-O) după cum urmează:

curl -O http://linux.about.com/cs/linux101/g/curl.htm

Aceasta va folosi porțiunea de nume de fișier a adresei URL și va fi numele fișierului la care este salvat adresa URL. În exemplul de mai sus, fișierul va fi numit curl.htm.

Pornește comanda curl în fundal

Implicit, comanda curl arată o bară de progres care vă spune cât timp există și cât de mult au fost transferate datele.

Dacă doriți doar ca comanda să ruleze astfel încât să puteți continua cu alte lucruri, atunci primul lucru pe care trebuie să-l faceți este să-l executați în modul silențios și apoi trebuie să-l executați ca o comandă de fundal .

Pentru a rula o comandă în tăcere, utilizați următoarea comandă:

curl -s -O

Pentru a obține comanda pentru a rula în fundal, atunci trebuie să utilizați ampersand (&) după cum urmează:

curl -s -O &

Descărcarea adreselor URL multiple cu curba

Puteți descărca din mai multe adrese URL folosind o singură comanda curl.

În forma sa cea mai simplă, puteți descărca mai multe adrese URL după cum urmează:

curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html

Imaginați-vă că aveți un dosar cu 100 de imagini, toate numite image1.jpg, image2.jpg, image3.jpg etc. Nu doriți să introduceți toate aceste adrese URL și nu este necesar.

Puteți utiliza paranteze pătrate pentru a furniza o gamă. De exemplu, pentru a obține fișierele de la 1 la 100 puteți specifica următoarele:

curl -O http://www.mysite.com/images/image[1-100].jpg

De asemenea, puteți utiliza paranteze curbate pentru a specifica mai multe site-uri cu formate similare.

De exemplu, imaginați-vă că doriți să descărcați www.google.com și www.bing.com. Puteți folosi pur și simplu următoarea comandă:

curl-O http: // www. {google, bing} .com

Afișarea progresului

În mod implicit, comanda curl returnează următoarele informații pe măsură ce descarcă o adresă URL:

Dacă preferați o simplă bară de progres care specifică pur și simplu comutatorul minus hash (- #) după cum urmează:

curl - # -O

Manipularea redirecționărilor

Imaginați-vă că ați specificat o adresă URL ca parte a comenzii curl și credeți că aveți adresa corectă pentru a descărca un fișier mare numai pentru a reveni mai târziu pentru a afla că tot ce aveți este o pagină web care afirmă că "această pagină a fost redirecționată către www.blah. com“. Asta ar fi enervant nu ar face-o.

Comanda curl este inteligentă prin faptul că poate urma redirecționări. Tot ce trebuie să faceți este să utilizați comutatorul minus L (-L) după cum urmează:

curl -OL

Reduceți rata de descărcare

Dacă descărcați un fișier mare și aveți o conexiune slabă la internet, atunci puteți deranja familia dacă încearcă să facă lucruri și pe internet.

Din fericire, puteți reduce rata de descărcare cu comanda curl, astfel încât în ​​timp ce va dura mai mult timp pentru a descărca fișierul, puteți menține toată lumea fericită.

curl-O - limită de 1m

Rata poate fi specificată în kilobyte (k sau K), megaocteți (m sau m) sau gigaocteți (g sau G).

Descărcați fișiere de pe un server FTP

Comanda curl poate gestiona mai mult decât transferurile de fișiere HTTP. Se poate ocupa de FTP, GOPHER, SMB, HTTPS și multe alte formate.

Pentru a descărca fișiere de pe un server FTP, utilizați următoarea comandă:

curl -u user: parola -o

Dacă specificați numele unui fișier ca parte a adresei URL, atunci acesta va descărca fișierul, dar dacă specificați numele unui dosar, acesta va afișa o listă de director.

De asemenea, puteți utiliza curl pentru a încărca fișierele pe un server ftp utilizând următoarea comandă:

curl -u user: parola -T

Numele de fișiere și pot utiliza aceeași potrivire a modelului ca și pentru descărcarea mai multor fișiere HTTP.

Trimiterea datelor formularului către un formular

Puteți utiliza curl pentru a completa un formular online și a trimite datele ca și cum ați fi completat online. Multe servicii populare, cum ar fi Google, blochează acest tip de utilizare.

Imaginați-vă că există un formular cu un nume și o adresă de e-mail. Puteți trimite aceste informații după cum urmează:

curl -d nume = john email=john@mail.com www.mysite.com/formpage.php

Există diferite moduri de a transfera informații de formă. Comanda de mai sus utilizează textul de bază, dar dacă doriți să utilizați codificarea multiplă care permite transferul imaginilor, va trebui să utilizați comutatorul minus F (-F).

rezumat

Comanda curl are o mulțime de metode de autentificare diferite și o puteți utiliza pentru accesarea site-urilor FTP, trimiterea de e-mailuri, conectarea la adresele SAMBA, încărcarea și descărcarea fișierelor și multe alte lucruri.

Pentru a obține mai multe informații despre curl, citiți pagina manuală.