Android

Curl-kommando i Linux med exempel

Linux/Mac Terminal Tutorial: How To Use The cURL Command

Linux/Mac Terminal Tutorial: How To Use The cURL Command

Innehållsförteckning:

Anonim

curl är ett kommandoradsverktyg för överföring av data från eller till en server som är utformad för att fungera utan användarinteraktion. Med curl kan du ladda ner eller ladda upp data med hjälp av ett av de stödda protokollen inklusive HTTP, HTTPS, SCP, SFTP och FTP. curl tillhandahåller ett antal alternativ som gör att du kan återuppta överföringar, begränsa bandbredden, proxysupport, användarautentisering och mycket mer.

I den här tutorialen visar vi dig hur du använder curlverktyget genom praktiska exempel och detaljerade förklaringar av de vanligaste lockalternativen.

Installera Curl

Curl-paketet är förinstallerat på de flesta Linux-distributioner idag.

För att kontrollera om Curl-paketet är installerat på ditt system öppnar du din konsol, skriver curl och trycker på enter. Om du har curl installerat kommer systemet att skriva ut curl: try 'curl --help' or 'curl --manual' for more information . Annars ser du något som curl command not found .

Om curl inte är installerat kan du enkelt installera det med hjälp av din pakethanterare för din distribution.

Installera Curl på Ubuntu och Debian

sudo apt update sudo apt install curl

Installera Curl på CentOS och Fedora

sudo yum install curl

Hur man använder Curl

Syntaxen för curl kommandot är som följer:

curl

I sin enklaste form, när den åberopas utan något alternativ, visar curl den angivna resursen till standardutgången.

För att hämta example.com hemsidan skulle du till exempel köra:

curl example.com

Kommandot kommer att skriva ut källkoden för example.com hemsida i ditt terminalfönster.

Om inget protokoll anges försöker curl gissa det protokoll du vill använda, och det kommer som standard att HTTP .

Spara utgången i en fil

För att spara resultatet av curl kommandot använder du antingen -o eller -O .

Små- -o sparar filen med ett fördefinierat filnamn, som i exemplet nedan är vue-v2.6.10.js :

curl -o vue-v2.6.10.js

Versaler - O sparar filen med sitt ursprungliga filnamn:

curl -O

Ladda ner flera filer

För att ladda ner flera filer på en gång använder du flera -O alternativ, följt av URL till den fil du vill ladda ner.

I följande exempel laddar vi ner Arch Linux- och Debian-isofilerna:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

Återuppta en nedladdning

Du kan återuppta en nedladdning med alternativet -C - . Detta är användbart om din anslutning tappas under nedladdningen av en stor fil, och istället för att starta nedladdningen från början, kan du fortsätta den föregående.

Om du till exempel laddar ner iso-filen Ubuntu 18.04 med följande kommando:

curl -O

och plötsligt sjunker din anslutning kan du återuppta nedladdningen med:

curl -C - -O

Hämta HTTP-rubrikerna för en URL

HTTP-rubriker är kolonseparerade nyckelvärdespar som innehåller information som användaragent, innehållstyp och kodning. Rubriker skickas mellan klienten och servern med begäran eller svaret.

Använd alternativet -I att bara hämta HTTP-rubrikerna för den angivna resursen:

curl -I --http2

Alternativet -L instruerar curl att följa alla omdirigeringar tills den når slutdestinationen:

curl -L google.com

Ändra User-Agent

Ibland kan en fjärrserver ställas in för att blockera Curl User-Agent eller hämta olika innehåll beroende på besökarenheten och webbläsaren när du laddar ner en fil.

I situationer som detta för att emulera en annan webbläsare, använd alternativet -A .

Till exempel för att emulera Firefox 60 skulle du använda:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

Ange en maximal överföringshastighet

--limit-rate låter dig begränsa dataöverföringshastigheten. Värdet kan uttryckas i byte, kilobyte med k suffixet, megabyte med m suffixet och gigabyte med g suffixet.

I följande exempel kommer curl att ladda ner Go-binären och begränsa nedladdningshastigheten till 1 mb:

curl --limit-rate 1m -O

Det här alternativet är användbart för att förhindra att curl konsumerar all tillgänglig bandbredd.

Överför filer via FTP

För att komma åt en skyddad FTP-server med curl , använd alternativet -u och ange användarnamn och lösenord som visas nedan:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

När du är inloggad listar kommandot alla filer och kataloger i användarens hemkatalog.

Du kan ladda ner en enda fil från FTP-servern med följande syntax:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

För att ladda upp en fil till FTP-servern använder du -T följt av namnet på filen du vill ladda upp:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Skicka kakor

Ibland kan du behöva göra en HTTP-begäran med specifika cookies för att få åtkomst till en fjärrresurs eller för att felsöka ett problem.

Som standard skickas eller lagras inga cookies när du begär en resurs med curl .

För att skicka cookies till servern använder du -b omkopplaren följt av ett filnamn som innehåller cookies eller en sträng.

Om du till exempel jdk-10.0.2_linux-x64_bin.rpm ladda ner Oracle Java JDK rpm-fil jdk-10.0.2_linux-x64_bin.rpm måste du skicka en cookie med namnet oraclelicense med värdet a :

curl -L -b "oraclelicense=a" -O

Använda Proxies

curl stöder olika typer av proxyer, inklusive HTTP, HTTPS och SOCKS. För att överföra data via en proxyserver använder --proxy alternativet -x (- --proxy ) följt av proxy-URL.

Följande kommando laddar ner den angivna resursen med en proxyserver på 192.168.44.1 port 8888 :

curl -x 192.168.44.1:8888

Om proxyservern kräver autentisering använder du alternativet -U (- --proxy-user ) följt av användarnamn och lösenord separerat med ett kolon ( user:password ):

curl -U username:password -x 192.168.44.1:8888

Slutsats

curl är ett kommandoradsverktyg som låter dig överföra data från eller till en fjärrvärd. Det är användbart för felsökning, nedladdning av filer och mer.

Exemplen som visas i denna självstudie är enkla, men demonstrerar de mest använda curl alternativen och är avsedda att hjälpa dig att förstå hur curl kommandot fungerar.

För mer information om curl besök sidan Curl Documentation.

lock terminal