cURL-kommandoen i Linux er et kraftfuldt værktøj til at overføre data til eller fra en server ved hjælp af forskellige protokoller, herunder HTTP, HTTPS, FTP og mere. Det bruges almindeligvis til at automatisere webanmodninger, teste API'er og downloade filer fra internettet. cURL er alsidig og kan håndtere en lang række opgaver, fra simple fildownloads til komplekse formularindsendelser i flere dele.
I denne vejledning vil vi udforske 30 praktiske eksempler på brug af kommandoen cURL i Linux. Disse eksempler vil dække almindelige brugssager, såsom download af filer, afsendelse af data til API'er, håndtering af autentificering og mere, hvilket viser fleksibiliteten og kraften i cURL til forskellige opgaver.
Syntaksen for cURL-kommandoen
Før vi fortsætter med at demonstrere 30 eksempler med cURL-kommandoen, er det en god idé først at forstå dens syntaks:
curl [options] [URL]
I denne syntaks:
- muligheder: Dette er de parametre, der ændrer adfærden for cURL.
- URL: Dette er adressen på den fil eller ressource, du vil interagere med.
cURL-kommandoindstillinger
cURL tilbyder mange muligheder, der giver dig mulighed for at tilpasse dens adfærd. Her er nogle af de mest brugte muligheder:
- -O: Downloader filen fra den angivne URL.
- -I: Henter HTTP-headeren fra serveren.
- -u: Angiver brugerlegitimationsoplysningerne til servergodkendelse.
- -d: Sender de angivne data i en POST-anmodning til serveren.
- -x: Angiver proxyadressen, der skal bruges til anmodningerne.
30 Eksempler på cURL-kommando i Linux
Lad os nu dykke ned i nogle praktiske eksempler på brug af kommandoen cURL. Hvert eksempel vil blive indledt med en forklaring efterfulgt af en demonstration af outputtet.
Eksempel 1: Hentning af data fra en URL
Den mest basale brug af cURL er at hente indholdet af en webside. Sådan kan du gøre det:
curl https://www.example.com
Denne kommando henter HTML-indholdet på websiden på www.example.com.
Eksempel 2: Download af en fil
cURL kan også bruges til at downloade filer fra internettet. Her er et eksempel:
curl -O https://www.example.com/file.txt
Denne kommando downloader filen file.txt fra www.example.com og gemmer den i den aktuelle mappe.
Eksempel 3: Afsendelse af en POST-anmodning
Du kan bruge cURL til at sende POST-anmodninger til en server. Sådan gør du:
curl -d "param1=value1¶m2=value2" -X POST http://www.example.com
Denne kommando sender en HTTP POST-anmodning til www.example.com med dataene param1=værdi1¶m2=værdi2.
Eksempel 4: Hentning af HTTP-headere
Hvis du vil hente HTTP-headerne fra en server, kan du bruge -I-indstillingen. Her er et eksempel:
curl -I https://www.example.com
Denne kommando henter HTTP-headerne fra www.example.com.
Eksempel 5: Brug af en proxy
Hvis du skal bruge en proxy, skal du angive den ved hjælp af -x-indstillingen. Sådan gør du:
curl -x http://proxy.example.com:8080 https://www.example.com
Denne kommando sender anmodningen til www.example.com gennem proxyen på proxy.example.com:8080.
Eksempel 6: Afsendelse af cookies
Du kan sende cookies sammen med din anmodning ved at bruge -b-muligheden. Her er et eksempel:
curl -b "name=value" https://www.example.com
Denne kommando sender en cookie med name=value til www.example.com.
Eksempel 7: Sender brugeragent
Websites bruger ofte brugeragenten til at levere indhold, der passer til kundens browser. For at sende en brugeragent med din anmodning skal du bruge -A-indstillingen:
curl -A "Mozilla/5.0" https://www.example.com
Denne kommando sender en anmodning til www.example.com med brugeragenten indstillet som Mozilla/5.0.
Eksempel 8: Følger omdirigeringer
Nogle URL'er omdirigerer til andre URL'er. For at følge disse omdirigeringer skal du bruge -L muligheden:
curl -L https://www.example.com
Denne kommando følger eventuelle omdirigeringer fra www.example.com.
Eksempel 9: Lagring af output til en fil
For at gemme outputtet af en cURL-kommando til en fil, skal du bruge -o-indstillingen:
curl -o output.html https://www.example.com
Denne kommando gemmer output fra www.example.com til output.html.
Eksempel 10: Upload af filer med FTP
cURL kan uploade filer til en server ved hjælp af FTP. Sådan gør du:
curl -T file.txt ftp://ftp.example.com --user username:password
Denne kommando uploader file.txt til ftp.example.com ved hjælp af det angivne brugernavn og adgangskode.
Eksempel 11: Genoptagelse af en download
Hvis en download bliver afbrudt, kan du genoptage den med -C – muligheden:
curl -C - -O https://www.example.com/file.txt
Denne kommando genoptager download af file.txt fra www.example.com.
Eksempel 12: Download af flere filer
For at downloade flere filer skal du angive flere URL'er:
curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt
Denne kommando downloader file1.txt og file2.txt fra www.example.com.
Eksempel 13: Afsendelse af en DELETE-anmodning
For at sende en DELETE-anmodning skal du bruge -X DELETE-indstillingen:
curl -X DELETE https://www.example.com/resource
Denne kommando sender en DELETE-anmodning til URL'en www.example.com/ressource.
Eksempel 14: Udførligt output
For detaljerede oplysninger om anmodningen og svaret, brug -v-indstillingen:
curl -v https://www.example.com
Denne kommando giver detaljeret output for anmodningen til www.example.com.
Eksempel 15: Lydløs tilstand
For at undertrykke fremskridtsmåleren og fejlmeddelelser skal du bruge -s muligheden:
curl -s https://www.example.com
Denne kommando henter indholdet af www.example.com i lydløs tilstand.
Eksempel 16: Visning af downloadstatus
For at få vist downloadstatus i et mere læsbart format, skal du bruge #-indstillingen:
curl -# -O https://www.example.com/file.txt
Denne kommando downloader file.txt fra www.example.com og viser status som en statuslinje.
Eksempel 17: Afsendelse af JSON-data
For at sende JSON-data i en POST-anmodning skal du bruge -H-indstillingen til at indstille indholdstypen:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com
Denne kommando sender en POST-anmodning med JSON-data til www.example.com.
Eksempel 18: Brug af cURL med en API
cURL bruges ofte til at interagere med API'er. Her er et eksempel:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com
Denne kommando sender en anmodning til https://api.example.com med en autorisationsheader.
Eksempel 19: Download af filer i baggrunden
For at downloade en fil i baggrunden skal du bruge indstillingen -O med et og-tegn i slutningen:
curl -O https://www.example.com/file.txt &
Denne kommando downloader file.txt fra www.example.com i baggrunden.
Eksempel 20: Afsendelse af data fra en fil
For at sende data fra en fil i en POST-anmodning skal du bruge symbolet @:
curl -d @data.txt -X POST https://www.example.com
Denne kommando sender en POST-anmodning med dataene fra data.txt til www.example.com.
Eksempel 21: Hentning af indhold fra FTP-server
cURL kan bruges til at hente indhold fra en FTP-server. Sådan gør du:
curl ftp://ftp.example.com/file.txt --user username:password
Denne kommando henter file.txt fra ftp.example.com ved at bruge det angivne brugernavn og adgangskode.
Eksempel 22: Hentning af indhold fra en adgangskodebeskyttet hjemmeside
For at hente indhold fra en adgangskodebeskyttet hjemmeside skal du bruge muligheden -u:
curl -u username:password https://www.example.com
Denne kommando henter indholdet fra www.example.com ved hjælp af det angivne brugernavn og password.
Eksempel 23: Hentning af indhold fra et websted med SSL
For at hente indhold fra et websted med SSL skal du bruge -k-indstillingen:
curl -k https://www.example.com
Denne kommando henter indholdet fra www.example.com og ignorerer eventuelle SSL-certifikatadvarsler.
Eksempel 24: Afsendelse af en PUT-anmodning
For at sende en PUT-anmodning skal du bruge -X PUT-indstillingen:
curl -X PUT -d "data" https://www.example.com/resource
Denne kommando sender en PUT-anmodning med data "data" til www.example.com/resource.
Eksempel 25: Hentning af svarhovederne
For kun at hente svaroverskrifterne, brug -I-indstillingen:
curl -I https://www.example.com
Denne kommando henter kun svaroverskrifterne fra www.example.com.
Eksempel 26: Hentning af indhold fra et websted med cookies
For at hente indhold fra et websted med cookies skal du bruge -b muligheden:
curl -b cookies.txt https://www.example.com
Denne kommando henter indholdet fra www.example.com ved hjælp af de cookies, der er gemt i cookies.txt.
Eksempel 27: Hentning af indhold fra et websted med tilpassede overskrifter
For at hente indhold fra et websted med tilpassede overskrifter skal du bruge -H-indstillingen:
curl -H "Custom-Header: Value" https://www.example.com
Eksempel 28: Hentning af indhold fra et websted med en timeout
For at hente indhold fra et websted med timeout skal du bruge -m-indstillingen:
curl -m 10 https://www.example.com
Denne kommando henter indholdet fra www.example.com med en timeout på 10 sekunder.
Eksempel 29: Hentning af indhold fra et websted i detaljeret tilstand
For at hente indhold fra et websted i detaljeret tilstand, skal du bruge -v-indstillingen:
curl -v https://www.example.com
Denne kommando henter indholdet fra www.example.com i detaljeret tilstand og viser detaljerede oplysninger om anmodningen og svaret.
Eksempel 30: Hentning af indhold fra et websted og visning af fremskridtsmåleren
For at hente indhold fra et websted og vise fremdriftsmåleren, skal du bruge -# muligheden:
curl -# https://www.example.com
Denne kommando henter indholdet fra www.example.com og viser statusmåleren.
Konklusion
At mestre cURL-kommandoen med disse praktiske eksempler kan markant forbedre din evne til at interagere med webtjenester, automatisere dataoverførsler og fejlfinde netværksproblemer. Regelmæssig praksis med forskellige cURL-indstillinger og kommandoer vil uddybe din forståelse og gøre dig i stand til at udnytte dets fulde potentiale i dine Linux-arbejdsgange. Nyd den alsidighed og effektivitet, som cURL bringer til dit kommandolinjeværktøj.