Curl-kommandot i Linux är ett kraftfullt verktyg som används för att överföra data till eller från en nätverksserver och drar fördel av ett brett utbud av protokoll som HTTP, HTTPS, FTP och SFTP.
I enklare termer är det ett verktyg som hjälper dig att överföra data över Internet direkt från din kommandorad. Du kan till exempel använda curl för att ladda ner en fil från en URL eller ladda upp en fil till en server.
Detta kommandoradsverktyg handlar inte bara om att överföra filer. Du kan också använda curl för att göra HTTP-förfrågningar, som GET och POST, från din terminal. Detta är extremt användbart när du testar eller interagerar med webbtjänster och API:er. Med curl kan du till och med inspektera innehållet på en webbsida utan att behöva öppna den i en webbläsare, eftersom den kan hämta och visa rådata.
Nedan finns några olika sätt att använda curl-kommandot:
Grundläggande användning
Det enklaste sättet att använda curl är att skriva curl följt av webbadressen till sidan du vill komma åt.
curl http://example.com
När du kör kommandot curl http://example.com i terminalen skickar den en GET-förfrågan till servern som finns på http://example.com. Utdata du ser i terminalen är serverns svar på denna GET-förfrågan, vanligtvis HTML-innehållet på webbsidan.
1. Spara utdata till en fil
Som standard genererar curl sidkällan du begärde. Om du vill spara denna utdata till en fil kan du använda alternativet -oo -O.
curl -o output.html http://example.com
Alternativet -o låter dig ange ett filnamn, medan -O kommer att använda filnamnet från URL:en.
2. Följ omdirigeringarna
Om webbadressen du begärde omdirigerar till en annan sida kommer curl inte att följa omdirigeringen om du inte inkluderar alternativet -L.
curl -L http://example.com
3. Skicka POST-förfrågningar
Du kan använda curl för att skicka POST-förfrågningar. Detta används ofta vid inlämning av formulär.
curl -d "param1=value1¶m2=value2" -X POST http://example.com/form
Alternativet -d talar om för curl att du skickar POST-data, och alternativet -X anger förfrågningsmetoden som ska användas.
4. Skicka GET-förfrågningar med parametrar
Du kan skicka en GET-förfrågan med parametrar genom att lägga till dem i URL:en.
curl http://example.com/search?query=example
5. Skicka rubriker
Du kan lägga till rubriker till din begäran med alternativet -H.
curl -H "Accept: application/json" http://example.com/api
6. Använd cookies
Du kan säga åt curl att skicka cookies med alternativet -b och lagra cookies med alternativet -c.
curl -b "name=value" -c cookies.txt http://example.com
7. Ladda upp filer
Du kan använda curl för att ladda upp filer till en server med alternativet -F. Detta skickar en POST-begäran och ställer in innehållstypen till flerdelad/formdata.
curl -F "file=@path/to/local/file" http://example.com/upload
8. Ladda ner filer
Du kan använda curl för att ladda ner filer med FTP, SFTP, HTTP och många andra protokoll.
curl -O ftp://example.com/pub/file.zip
9. Autentisering
Om du behöver autentisera kan du använda alternativet -u följt av användarnamn och lösenord separerade av: (kolon).
curl -u username:password http://example.com
