Kommandot cURL i Linux är ett kraftfullt verktyg för att överföra data till eller från en server med hjälp av olika protokoll, inklusive HTTP, HTTPS, FTP och mer. Det används ofta för att automatisera webbförfrågningar, testa API:er och ladda ner filer från internet. cURL är mångsidig och kan hantera ett brett utbud av uppgifter, från enkla filnedladdningar till komplexa formulärinlämningar i flera delar.
I den här guiden kommer vi att utforska 30 praktiska exempel på hur du använder kommandot cURL i Linux. Dessa exempel kommer att täcka vanliga användningsfall, som att ladda ner filer, skicka data till API:er, hantera autentisering och mer, och visa upp flexibiliteten och kraften hos cURL för olika uppgifter.
Syntaxen för kommandot cURL
Innan vi fortsätter med att demonstrera 30 exempel med kommandot cURL, är det en bra idé att först förstå dess syntax:
curl [options] [URL]
I denna syntax:
- alternativ: Det här är parametrarna som ändrar beteendet hos cURL.
- URL: Detta är adressen till filen eller resursen du vill interagera med.
cURL-kommandoalternativ
cURL erbjuder många alternativ som låter dig anpassa dess beteende. Här är några av de vanligaste alternativen:
- -O: Laddar ned filen från den angivna URL:en.
- -I: Hämtar HTTP-huvudet från servern.
- -u: Anger användaruppgifterna för serverautentisering.
- -d: Skickar angivna data i en POST-förfrågan till servern.
- -x: Anger proxyadressen som ska användas för förfrågningarna.
30 Exempel på cURL-kommando i Linux
Låt oss nu fördjupa oss i några praktiska exempel på att använda kommandot cURL. Varje exempel kommer att inledas med en förklaring följt av en demonstration av resultatet.
Exempel 1: Hämta data från en URL
Den mest grundläggande användningen av cURL är att hämta innehållet på en webbsida. Så här kan du göra det:
curl https://www.example.com
Detta kommando hämtar HTML-innehållet på webbsidan på www.example.com.
Exempel 2: Ladda ner en fil
cURL kan också användas för att ladda ner filer från internet. Här är ett exempel:
curl -O https://www.example.com/file.txt
Detta kommando hämtar filen file.txt från www.example.com och sparar den i den aktuella katalogen.
Exempel 3: Skicka en POST-förfrågan
Du kan använda cURL för att skicka POST-förfrågningar till en server. Så här gör du:
curl -d "param1=value1¶m2=value2" -X POST http://www.example.com
Detta kommando skickar en HTTP POST-begäran till www.example.com med data param1=värde1¶m2=värde2.
Exempel 4: Hämta HTTP-rubriker
Om du vill hämta HTTP-huvudena från en server kan du använda alternativet -I. Här är ett exempel:
curl -I https://www.example.com
Detta kommando hämtar HTTP-rubrikerna från www.example.com.
Exempel 5: Använda en proxy
Om du behöver använda en proxy, ange den med alternativet -x. Så här gör du:
curl -x http://proxy.example.com:8080 https://www.example.com
Detta kommando skickar begäran till www.example.com via proxyn på proxy.example.com:8080.
Exempel 6: Skicka cookies
Du kan skicka cookies tillsammans med din begäran med alternativet -b. Här är ett exempel:
curl -b "name=value" https://www.example.com
Detta kommando skickar en cookie med namn=värde till www.example.com.
Exempel 7: Skickar användaragent
Webbplatser använder ofta användaragenten för att leverera innehåll som passar kundens webbläsare. För att skicka en användaragent med din förfrågan, använd alternativet -A:
curl -A "Mozilla/5.0" https://www.example.com
Detta kommando skickar en begäran till www.example.com med användaragenten inställd som Mozilla/5.0.
Exempel 8: Följer omdirigeringar
Vissa webbadresser omdirigerar till andra webbadresser. För att följa dessa omdirigeringar, använd alternativet -L:
curl -L https://www.example.com
Detta kommando följer alla omdirigeringar från www.example.com.
Exempel 9: Spara utdata till en fil
För att spara utdata från ett cURL-kommando till en fil, använd alternativet -o:
curl -o output.html https://www.example.com
Detta kommando sparar utdata från www.example.com till output.html.
Exempel 10: Ladda upp filer med FTP
cURL kan ladda upp filer till en server med FTP. Så här gör du:
curl -T file.txt ftp://ftp.example.com --user username:password
Detta kommando laddar upp file.txt till ftp.example.com med det angivna användarnamnet och lösenordet.
Exempel 11: Återuppta en nedladdning
Om en nedladdning avbryts kan du återuppta den med alternativet -C –:
curl -C - -O https://www.example.com/file.txt
Detta kommando återupptar nedladdningen av file.txt från www.example.com.
Exempel 12: Ladda ner flera filer
För att ladda ner flera filer, ange flera webbadresser:
curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt
Detta kommando laddar ner file1.txt och file2.txt från www.example.com.
Exempel 13: Skicka en DELETE-förfrågan
För att skicka en DELETE-förfrågan, använd alternativet -X DELETE:
curl -X DELETE https://www.example.com/resource
Detta kommando skickar en DELETE-begäran till URL:en www.example.com/resurs.
Exempel 14: Utförd utdata
För detaljerad information om begäran och svaret, använd alternativet -v:
curl -v https://www.example.com
Det här kommandot ger utförlig utdata för begäran till www.example.com.
Exempel 15: Tyst läge
För att undertrycka förloppsmätaren och felmeddelanden, använd alternativet -s:
curl -s https://www.example.com
Detta kommando hämtar innehållet på www.example.com i tyst läge.
Exempel 16: Visar nedladdningsförloppet
För att visa nedladdningsförloppet i ett mer läsbart format, använd #-alternativet:
curl -# -O https://www.example.com/file.txt
Detta kommando laddar ner file.txt från www.example.com och visar förloppet som en förloppsindikator.
Exempel 17: Skicka JSON-data
För att skicka JSON-data i en POST-förfrågan, använd alternativet -H för att ställa in innehållstypen:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com
Detta kommando skickar en POST-begäran med JSON-data till www.example.com.
Exempel 18: Använda cURL med ett API
cURL används ofta för att interagera med API:er. Här är ett exempel:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com
Detta kommando skickar en begäran till https://api.example.com med en auktoriseringsrubrik.
Exempel 19: Ladda ner filer i bakgrunden
För att ladda ner en fil i bakgrunden, använd alternativet -O med ett et-tecken i slutet:
curl -O https://www.example.com/file.txt &
Detta kommando laddar ner file.txt från www.example.com i bakgrunden.
Exempel 20: Skicka data från en fil
För att skicka data från en fil i en POST-förfrågan, använd @-symbolen:
curl -d @data.txt -X POST https://www.example.com
Detta kommando skickar en POST-begäran med data från data.txt till www.example.com.
Exempel 21: Hämta innehåll från FTP-server
cURL kan användas för att hämta innehåll från en FTP-server. Så här gör du:
curl ftp://ftp.example.com/file.txt --user username:password
Detta kommando hämtar file.txt från ftp.example.com med det angivna användarnamnet och lösenordet.
Exempel 22: Hämta innehåll från en lösenordsskyddad webbplats
För att hämta innehåll från en lösenordsskyddad webbplats, använd alternativet -u:
curl -u username:password https://www.example.com
Detta kommando hämtar innehållet från www.example.com med det angivna användarnamnet och lösenordet.
Exempel 23: Hämta innehåll från en webbplats med SSL
För att hämta innehåll från en webbplats med SSL, använd alternativet -k:
curl -k https://www.example.com
Detta kommando hämtar innehållet från www.example.com och ignorerar eventuella SSL-certifikatvarningar.
Exempel 24: Skicka en PUT-förfrågan
För att skicka en PUT-förfrågan, använd alternativet -X PUT:
curl -X PUT -d "data" https://www.example.com/resource
Detta kommando skickar en PUT-begäran med data "data" till www.example.com/resource.
Exempel 25: Hämta svarsrubriker
För att bara hämta svarshuvuden, använd alternativet -I:
curl -I https://www.example.com
Detta kommando hämtar endast svarsrubriker från www.example.com.
Exempel 26: Hämta innehåll från en webbplats med cookies
För att hämta innehåll från en webbplats med cookies, använd alternativet -b:
curl -b cookies.txt https://www.example.com
Detta kommando hämtar innehållet från www.example.com med hjälp av cookies som lagras i cookies.txt.
Exempel 27: Hämta innehåll från en webbplats med anpassade rubriker
För att hämta innehåll från en webbplats med anpassade rubriker, använd alternativet -H:
curl -H "Custom-Header: Value" https://www.example.com
Exempel 28: Hämta innehåll från en webbplats med en timeout
För att hämta innehåll från en webbplats med timeout, använd alternativet -m:
curl -m 10 https://www.example.com
Detta kommando hämtar innehållet från www.example.com med en timeout på 10 sekunder.
Exempel 29: Hämta innehåll från en webbplats i utförligt läge
För att hämta innehåll från en webbplats i utförligt läge, använd alternativet -v:
curl -v https://www.example.com
Detta kommando hämtar innehållet från www.example.com i utförligt läge och visar detaljerad information om begäran och svaret.
Exempel 30: Hämta innehåll från en webbplats och visa förloppsmätaren
För att hämta innehåll från en webbplats och visa förloppsmätaren, använd alternativet -#:
curl -# https://www.example.com
Detta kommando hämtar innehållet från www.example.com och visar förloppsmätaren.
Slutsats
Att behärska kommandot cURL med dessa praktiska exempel kan avsevärt förbättra din förmåga att interagera med webbtjänster, automatisera dataöverföringar och felsöka nätverksproblem. Regelbunden övning med olika cURL-alternativ och -kommandon kommer att fördjupa din förståelse och göra det möjligt för dig att utnyttja dess fulla potential i dina Linux-arbetsflöden. Njut av mångsidigheten och effektiviteten som cURL tillför din kommandoradsverktygslåda.