curl er en kommandolinje på tværs af platformen til at få og sende filer ved hjælp af URL-syntaks. Det er et rekursivt akronym, der står for Curl URL Request Library, og det er et meget omfattende program, der understøtter en bred vifte af internetprotokoller, herunder HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, DICT, TELNET, FIL, IMAP, POP3, SMTP og RTSP.

curl har et væld af funktioner og tricks, herunder brugergodkendelse, proxy support, FTP upload og download, HTTP post, cookies, filoverførsel CV, SSL-forbindelser og meget mere. Denne artikel vil fungere som en introduktion til curl, for dem der ikke er bekendt med programmet, mens strømbrugerne også kan have gavn.

Installation

For at installere curl på et Debian / Ubuntu-system, skal du køre følgende kommando:

 sudo apt-get install krølle 

Syntaks

På det mest basale plan forventer curl et url-argument, og det vil forsøge at hente, hvad filen er tilgængelig på den givne url.

 krølle http://www.maketecheasier.com 

Som standard dumpes de hentede filindhold til kommandolinjen. Hvis en outputfil er specificeret, viser programmet en fremdriftsmåler, som viser mængden af ​​data, der overføres, overførselshastigheder, estimeret tid tilbage og tid brugt blandt andre. For at gemme den hentede fil til dit system, med et givet filnavn, brug -o indstillingen:

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

Hvis du vil gemme en fil med samme navn som den har på serveren, skal du bruge -O indstillingen:

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

Sådan hentes en fil fra en ftp-server, der kræver brugernavn og adgangskode:

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

Hvis du vil angive flere webadresser eller dele af en webadresse, skal du sætte delene i braces:

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

Du kan også angive en rækkevidde i en alfanumerisk serie ved hjælp af firkantede parenteser:

 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 

Hvis du vil gemme de hentede filer i flere dokumenter, skal du bruge '#'-symbolet efterfulgt af et nummer i filnavnspecifikationen. Dette vil så blive erstattet af den aktuelle streng i den givne URL

 curl -o "file_ # 1.txt" http: // {en, to} .site.com curl -o "output_ # 1_ # 2" http: // {site, vært} .host [1-5]. com 

Du kan angive den User-Agent-streng, der skal bruges, mens du identificerer til http-servere, da http-forbindelser bruger -A flag:

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

Hvis du vil sende data ved hjælp af HTTP POST, skal du bruge indstillingen -d :

 curl -d "brugernavn = obaro" -d "password = password" http://maketecheasier.com 

Hvis du f.eks. Logger ind på et websted, vil du sandsynligvis gerne gemme de medfølgende cookies til senere brug. For at gemme de modtagne cookies skal du bruge funktionen -c (eller --cookie-jar ):

 curl -d "brugernavn = obaro" -d "password = password" -c mte-cookies http://maketecheasier.com 

For at bruge disse gemte cookies skal du bruge -b indstillingen:

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

For at uploade en fil skal du bruge -T indstillingen. For http (s) servere bruges kommandoen PUT stedet:

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

For at tvinge brugen SSL / TLS til forbindelser, skal du bruge --ssl-reqd flag. Du kan også angive flere filer på samme måde som du angiver flere webadresser:

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

Derudover kan du angive loginoplysninger med -u-indstillingen:

 curl -u brugernavn: password --ssl-reqd -T "fil [1-100] .jpg" ftp://ftp.uploadmania.com/upload 

krølle er et meget simpelt, solidt og alligevel fuldt funktionelt program. Der er så mange forskellige muligheder, og det håndterer et meget stort antal protokoller, men vi har ligefrem næppe ridset overfladen af ​​dets evner. Dette er en introduktion til curl, for brugere, der ikke har brugt det før, og en påmindelse for dem, der er bekendt med dens muligheder. Glem ikke at tjekke manpagesne eller indtaste følgende for mere info:

 mand krølle 

Hvis du har en særlig brug for dette, kan du dele med os i kommentarerne.