15 Tipps wéi Dir Curl Command a Linux benotzt


Zréck an der Mëtt vun den 1990er, wéi den Internet nach a senger Kandheet war, huet e schwedesche Programméierer mam Numm Daniel Stenberg e Projet gestart, dee schliisslech zu deem gewuess ass, wat mir haut als Curl kennen.

Am Ufank huet hien als Zil e Bot z'entwéckelen, deen d'Währungsaustausch vun enger Websäit periodesch eroflueden a schwedesch Kroun-Äquivalenten an US-Dollar un IRC Benotzer ubidden.

Laang Geschicht kuerz, de Projet huet gebloe, a bäigefüügt verschidde Protokoller a Feature laanscht de Wee - an de Rescht ass Geschicht. Loosst eis elo mat béide Féiss tauchen a léiere wéi Dir Curl benotzt fir Daten ze transferéieren a méi am Linux!

Mir hunn déi folgend Lëscht vun 15 Curl Kommandoen fir Iech zesummegesat.

1. View Curl Versioun

D'Optiounen -V oder --version ginn net nëmmen d'Versioun zréck, mee och déi ënnerstëtzte Protokoller a Funktiounen an Ärer aktueller Versioun.

$ curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

2. Luet eng Datei erof

Wann Dir eng Datei eroflueden wëllt, kënnt Dir Curl mat den -O oder -o Optiounen benotzen. Dee fréiere späichert d'Datei am aktuellen Aarbechtsverzeichnis mam selwechten Numm wéi an der Remote Location, wärend dee Leschten erlaabt Iech en anere Dateinumm an/oder Standuert ze spezifizéieren.

$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. Fuerderen en ënnerbrach Download

Wann en Download aus irgendege Grënn ënnerbrach gouf (zum Beispill mat Ctrl + c), kënnt Dir et ganz einfach erëmfannen. D'Benotzung vun -C - (Dash C, Space Bindestrich) erzielt Curl fir den Download unzefänken wou et opgehalen huet.

$ curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. Download Multiple Dateien

Mat dem folgenden Kommando lued Dir info.html an about.html vun http://yoursite.com respektiv http://mysite.com erof, an engem Go.

$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html 

5. Download URLen Vun enger Datei

Wann Dir Curl mat xargs kombinéiert, kënnt Dir Dateien aus enger Lëscht vun URLen an enger Datei eroflueden.

$ xargs -n 1 curl -O < listurls.txt

6. Benotzt e Proxy mat oder ouni Authentifikatioun

Wann Dir hannert engem Proxy Server sidd, deen um Port 8080 op proxy.yourdomain.com lauschtert, da maacht.

$ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

wou Dir kënnt -U Benotzer:Passwuert iwwersprangen wann Äre Proxy keng Authentifikatioun erfuerdert.

7. Ufro HTTP Header

HTTP Header erlaben de Remote Webserver zousätzlech Informatioun iwwer sech selwer zesumme mat der aktueller Ufro ze schécken. Dëst gëtt dem Client Detailer iwwer wéi d'Ufro gehandhabt gëtt.

Fir d'HTTP Header vun enger Websäit ze froen, maacht:

$ curl -I linux-console.net

Dës Informatioun ass och an Ärem Browser Entwéckler Tools verfügbar.

8. Maacht eng POST Ufro mat Parameteren

De folgende Kommando schéckt d'Parameteren FirstName a LastName, zesumme mat hiren entspriechende Wäerter, op https://yourdomain.com/info.php.

$ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php

Dir kënnt dësen Tipp benotze fir d'Behuele vun enger regulärer HTML Form ze simuléieren.

9. Download Dateien vun engem FTP Server mat oder ouni Authentifikatioun

Wann e Fern-FTP-Server Verbindungen op ftp://yourftpserver erwaart, wäert de folgende Kommando yourfile.tar.gz am aktuellen Aarbechtsverzeechnes eroflueden.

$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz 

wou Dir kënnt -u Benotzernumm: Passwuert iwwersprangen wann de FTP Server anonym Login erlaabt.

10. Eroplueden Dateien op en FTP-Server mat oder ouni Authentifikatioun

Fir eng lokal Datei mam Numm mylocalfile.tar.gz eropzelueden op ftp://yourftpserver mat Curl, maacht:

$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. Uginn Benotzer Agent

De Benotzer Agent ass Deel vun der Informatioun déi zesumme mat enger HTTP-Ufro geschéckt gëtt. Dëst weist wéi ee Browser de Client benotzt huet fir d'Ufro ze maachen. Loosst eis kucken wat eis aktuell Curl Versioun als Standard benotzt, a loosst eis et spéider änneren op Ech sinn en neie Webbrowser:

$ curl -I http://localhost --user-agent "I am a new web browser"

12. Store Websäit Cookien

Wëllt Dir kucken wéi eng Cookien op Äre Computer erofgeluede ginn wann Dir op https://www.cnn.com surft? Benotzt de folgende Kommando fir se op cnncookies.txt ze späicheren. Dir kënnt dann Cat Kommando benotze fir d'Datei ze gesinn.

$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. Schécken Websäit Cookien

Dir kënnt d'Cookien benotzen, déi am leschte Tipp an de spéideren Ufroe op dee selwechte Site zréckgewonnen sinn.

$ curl --cookie cnncookies.txt https://www.cnn.com

14. Numm Resolutioun änneren

Wann Dir e Webentwéckler sidd a wëllt eng lokal Versioun vun yourdomain.com testen ier Dir se live dréckt, kënnt Dir d'Curl-Resolutioun http://www.yourdomain.com op Äre localhost esou maachen:

$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

Also, d'Ufro un http://www.yourdomain.com wäert Curl soen fir de Site vum localhost ze froen anstatt DNS oder d'/etc/hosts Datei ze benotzen.

15. Limit Download Taux

Fir Curl ze vermeiden fir Är Bandbreedung ze späicheren, kënnt Dir den Downloadrate op 100 KB/s limitéieren wéi follegt.

$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O

An dësem Artikel hu mir eng kuerz Geschicht iwwer d'Origine vum Curl gedeelt an erkläert wéi et duerch 15 praktesch Beispiller benotzt gëtt.

Wësst Dir iwwer aner Curl Kommandoen déi mir an dësem Artikel verpasst hunn? Fillen gratis hinnen mat eiser Communautéit an de Kommentaren ze deelen! Och, wann Dir Froen hutt, mellt Iech gratis bei eis. Mir freeën eis vun Iech ze héieren!