curl är en kommandorad över plattformen för att skicka och skicka filer med URL-syntax. Det är en rekursiv akronym som står för Curl URL Request Library, och det är ett mycket omfattande program som stöder ett brett spektrum av internetprotokoll inklusive HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, DICT, TELNET, FIL, IMAP, POP3, SMTP och RTSP.

curl har massor av funktioner och tricks, inklusive användarautentisering, proxy support, FTP uppladdning och nedladdning, HTTP-post, cookies, filöverföring CV, SSL-anslutningar och mycket mer. Denna artikel kommer att tjäna som en introduktion till curl, för de som inte är bekanta med programmet, medan kraftanvändare kan också dra nytta av.

Installation

För att installera curl på ett Debian / Ubuntu-system, kör följande kommando:

 sudo apt-get installera curl 

Syntax

Vid sin mest grundläggande förväntar sig curl ett url-argument, och det kommer att försöka hämta vilken fil som helst på den angivna webbadressen.

 curl http://www.maketecheasier.com 

Som standard dumpas de hämtade filinnehållen till kommandoraden. Om en utdatafil anges, visar programmet en framstegsmätare som visar mängden data som överförts, överföringshastigheter, beräknad tid kvar och bland annat tid. För att spara den hämtade filen till ditt system, med ett visst filnamn, använd alternativet -o :

 curl -o mte-index.html http://www.maketecheasier.com 

För att spara en fil med samma namn som den har på servern, använd alternativet -O :

 curl -O ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.0.tar.xz 

För att få en fil från en ftp-server som kräver användarnamn och lösenord:

 curl -O ftp: // användarnamn: [email protected]/pub/linux/kernel/v4.x/linux-4.0.tar.xz 

För att ange flera webbadresser eller delar av en webbadress, sätta deluppsättningarna i häften:

 curl -O http://www.maketecheasier.com/author/{obaro, ivana, vamsi} 

Du kan också ange ett intervall i en alfanumerisk serie med hjälp av fälthakparenteser:

 curl -O ftp://ftp.numericals.com/file[1-100].txt curl -O ftp://ftp.letters.com/file[az].txt curl -O http://any.org /archive[1996-1999]/vol[1-4]/part{a, b, c}.html 

För att spara de hämtade filerna i flera dokument, använd symbolen "#" följt av ett nummer i filnamnspecifikationen. Detta kommer då att ersättas med den aktuella strängen i den angivna webbadressen

 curl -o "file_ # 1.txt" http: // {en, två} .site.com curl -o "output_ # 1_ # 2" http: // {site, värd} .host [1-5]. com 

Du kan ange användar-agent-strängen som ska användas när du identifierar för http-servrar, för http-anslutningar använder -A flagga:

 curl -A "Mozilla / 5.0 (Windows NT 6.3; rv: 36.0) Gecko / 20100101 Firefox / 36.0" -å mte-index.html http://www.maketecheasier.com 

För att skicka data med hjälp av HTTP POST, använd alternativet -d :

 curl -d "användarnamn = obaro" -d "lösenord = lösenord" http://maketecheasier.com 

Om du till exempel loggar in på en webbplats, vill du troligen att lagra de medföljande kakorna för senare användning. För att lagra de mottagna kakorna, använd alternativet -c (eller --cookie-jar ):

 curl -d "användarnamn = obaro" -d "lösenord = lösenord" -c mte-cookies http://maketecheasier.com 

För att använda dessa lagrade cookies använder du alternativet -b :

 curl -b mte-cookies -d "hc_comment = Det här är en kommentar & submit = true" http://www.maketecheasier.com/monitor-hard-disk-health-linux/ 

För att ladda upp en fil, använd alternativet -T . För http (s) servrar används kommandot PUT istället:

 curl -T "file1.jpg" http://www.uploadmania.com/upload 

För att tvinga användningen SSL / TLS för anslutningar, använd --ssl-reqd flaggan. Du kan även ange flera filer på samma sätt som du anger flera webbadresser:

 curl --ssl-reqd -T "fil [1-100] .jpg" ftp: // användarnamn: [email protected]/upload 

Dessutom kan du ange inloggningsuppgifter med -u-alternativet:

 curl -u användarnamn: lösenord --ssl-reqd -T "fil [1-100] .jpg" ftp://ftp.uploadmania.com/upload 

curl är ett mycket enkelt, solidt och ändå heltäckande program. Det finns så många olika alternativ att tillgå, och det hanterar ett mycket stort antal protokoll, men vi har bara knappt repat ytan på dess förmågor. Detta är en introduktion till curl, för användare som inte har använt det tidigare, och en påminnelse för dem som är bekanta med sina möjligheter. Glöm inte att kolla in sidorna eller skriv följande för mer info:

 man curl 

Om du har en särskild användning för detta, vänligen dela med oss ​​i kommentarerna.