Praktisk användning av curl i Linux: Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
 
Rad 225: Rad 225:
https://www.linux.se/kontakta-linux-se/
https://www.linux.se/kontakta-linux-se/


Besök vår systersida [[GeekToys.se]] där vi publicerar artiklar om datorer genom åren.   
Besök vår systersida [https://geektoys.se GeekToys.se] där vi publicerar artiklar om datorer genom åren.   
Du hittar alla artiklar som finns på GeekToys på:
Du hittar alla artiklar som finns på GeekToys på:
https://geektoys.se/links/
https://geektoys.se/links/

Nuvarande version från 28 mars 2026 kl. 07.13

Praktisk användning av curl i Linux

Ingress

Kommandot curl(1) är ett kraftfullt verktyg för att överföra data till och från servrar via olika protokoll som HTTP, HTTPS, FTP och många fler. Det används ofta för API-anrop, nedladdning av filer, testning av webbtjänster och automatisering.

Denna artikel visar praktiska och verklighetsnära exempel på hur curl(1) används i olika situationer – från enkla hämtningar till avancerad API-debuggning.

Hur curl fungerar

Grundsyntaxen för curl(1) är:

curl [alternativ] [URL]

Exempel:

curl https://example.com

Ladda ner filer

curl -O https://example.com/fil.txt
curl -o lokal_fil.txt https://example.com/fil.txt

Visa HTTP-header

curl -I https://example.com

Följa redirect

curl -L https://example.com

Skicka POST-data

curl -d "namn=Martin&stad=Stockholm" https://example.com/form

Skicka JSON-data

curl -X POST https://api.example.com/data \
     -H "Content-Type: application/json" \
     -d '{"namn":"Martin"}'

Autentisering

curl -u användare:lösenord https://example.com

Avancerad API-användning

Skicka headers

För att inkludera egna HTTP-headers:

curl -H "Authorization: Bearer TOKEN" \
     -H "Accept: application/json" \
     https://api.example.com/data

Vanligt vid:

  • REST API:er
  • autentisering med tokens
  • versionerade API:er

Använda API-nycklar

Många API:er kräver en nyckel:

curl "https://api.example.com/data?apikey=DIN_NYCKEL"

OAuth och Bearer tokens

Ett vanligt mönster:

curl -H "Authorization: Bearer eyJhbGciOi..." \
     https://api.example.com/user

Skicka PUT och DELETE

curl -X PUT -d '{"namn":"nytt"}' https://api.example.com/resurs/1
curl -X DELETE https://api.example.com/resurs/1

Multipart / filuppladdning

curl -F "file=@bild.jpg" https://example.com/upload

Debuggning och felsökning

Visa full kommunikation

curl -v https://example.com

Detta visar:

  • request headers
  • response headers
  • TLS-information

Endast headers + status

curl -s -D - https://example.com -o /dev/null

Tidsmätning

curl -w "Tid: %{time_total}s\n" -o /dev/null -s https://example.com

Testa olika svar

Simulera user-agent:

curl -A "Mozilla/5.0" https://example.com

Hantera cookies

curl -c cookies.txt https://example.com
curl -b cookies.txt https://example.com

Arbeta med JSON i pipelines

Kombinera med jq(1):

curl -s https://api.example.com/data | jq '.result'

Praktiskt exempel: API-testning

Kontrollera ett API med autentisering:

curl -H "Authorization: Bearer TOKEN" \
     -H "Content-Type: application/json" \
     https://api.example.com/status

Praktiskt exempel: automatiserad hämtning

curl -L https://example.com/data.json -o data.json

Kan användas i skript för:

  • backup
  • datainsamling
  • övervakning

Praktiskt exempel: felsökning av webbserver

curl -v https://example.com

Identifierar:

  • SSL-problem
  • redirect-loopar
  • felaktiga headers

Alternativ metod

wget(1) är enklare för nedladdning:

wget https://example.com/fil.txt

Men curl(1) är bättre för:

  • API-anrop
  • skript
  • avancerad HTTP-hantering

När ska man använda curl?

curl(1) är särskilt användbart när man behöver:

  • arbeta med API:er
  • automatisera HTTP-förfrågningar
  • felsöka nätverkstjänster
  • testa autentisering och headers

Sammanfattning

curl(1) är ett av de mest mångsidiga verktygen i Linux. Från enkla nedladdningar till avancerad API-debuggning är det ett oumbärligt verktyg för utvecklare och systemadministratörer.

SE ÄVEN

curl(1), wget(1), jq(1), httpie(1), tar(1)

Sidslut

Det här är AI-genererat innehåll.

Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på: https://www.linux.se/kontakta-linux-se/

Besök vår systersida GeekToys.se där vi publicerar artiklar om datorer genom åren. Du hittar alla artiklar som finns på GeekToys på: https://geektoys.se/links/