cURL Cheatsheet
Användbara cUrl-kommandon med parametrar
Här är en snabbguide för de mest användbara cURL-kommandona med deras parametrar:

Den här bilden ovan skapades av Flux - text till bild AI-modell.
Grundläggande cURL-användning
- Ladda ner en fil:
curl http://example.com/file.zip -o file.zip - Ladda ner flera filer:
curl -O URL1 -O URL2 - Följ omdirigeringar:
curl -L http://example.com/file - Visa endast rubriker:
curl -I http://example.com
Autentisering
- Grundläggande autentisering:
curl -u användarnamn:lösenord http://example.com - Använd .netrc-fil:
curl --netrc-file .netrc http://example.com
HTTP-metoder
- POST-förfrågan:
curl -X POST -d 'name=value' http://example.com - PUT-förfrågan:
curl -X PUT -d @file http://example.com - Anpassad metod:
curl -X METHOD http://example.com
Rubriker och data
- Lägg till anpassad rubrik:
curl -H "X-Header: Value" http://example.com - Skicka JSON-data:
curl -H "Content-Type: application/json" -d '{"key":"value"}' http://example.com - Skicka formulärdata:
curl -F "key=value" -F "file=@localfile" http://example.com
SSL/TLS-alternativ
- Ignorera SSL-certifikatsverifiering:
curl -k https://example.com - Använd klientcertifikat:
curl --cert cert.pem --key key.pem https://example.com
Proxy och nätverk
- Använd en proxy:
curl -x proxysever.server.com:PORT http://example.com - Begränsa nedladdningshastighet:
curl --limit-rate 1000B -O http://example.com/file
Utdatakontroll
- Tyst läge:
curl -s http://example.com - Detaljerat läge:
curl -v http://example.com - Skriv utdata till fil:
curl -o file.html http://example.com - Spara med ursprungligt filnamn:
curl -O http://example.com/file.zip
Övrigt
- Återuppta en avbruten nedladdning:
curl -C - -o partial_file.zip http://example.com/file.zip - Ange en tidsgräns:
curl --connect-timeout 10 http://example.com - Använd en konfigureringsfil:
curl -K config_file http://example.com
Den här snabbguiden täcker de mest använda cURL-kommandona och deras parametrar, vilket ger en snabb referens för olika HTTP-operationer och dataöverföringar.
Avancerade cUrl-kommandon
Här är några avancerade curl-kommandon för felsökning:
-
Detaljerad utdata:
curl -v https://example.comDet här kommandot ger detaljerad information om förfrågan och svaret, inklusive rubriker och anslutningsdetaljer. -
Full spårningsdump:
curl --trace - https://example.comDet här ger en hexdump av all inkommande och utgående data, vilket ger en omfattande vy av hela kommunikationen. -
Spårning med tidsstämplar:
curl --trace - --trace-time https://example.comDet här lägger till tidsstämplar på spårningsutdata, vilket hjälper till att analysera tidsrelaterade problem. -
Visa endast svarsrubriker:
curl -s -o /dev/null -D - https://example.comDet här kommandot visar endast svarsrubrikerna, vilket är användbart för snabb rubriksanalys. -
Visa endast förfråganrubriker:
curl -v -s -o /dev/null --stderr - https://example.com | grep '^>'Det här komplexa kommandot filtrerar ut endast förfråganrubrikerna, vilket är användbart för att undersöka vad som skickas. -
Använd Pantheon Debugger:
curl -I -H "Pantheon-Debug:1" https://example.comDet här kommandot använder Pantheons Debug-rubrik för att få ytterligare information om en förfrågan, vilket är användbart för webbplatser som värds av Pantheon. -
Tvinga HTTP/2-protokoll:
curl --http2 https://example.comDet här säkerställer användningen av HTTP/2-protokollet, vilket kan kombineras med -I för att verifiera HTTP/2-stöd. -
Felsökning med netcat: I ett terminalfönster:
nc -l 1234I ett annat:curl http://127.0.0.1:1234Det här låter dig se exakt vad curl skickar, vilket är användbart för payload-felsökning.
Dessa avancerade kommandon ger kraftfulla felsökningsmöjligheter, vilket låter utvecklare undersöka olika aspekter av HTTP-kommunikationer och felsöka komplexa problem.
Vanliga cUrl-användningsområden
curl är ett mångsidigt kommandoradsverktyg med otaliga tillämpningar. Här är några av de vanligaste användningsområdena för curl:
Webbinteraktioner
- Nedladdning av filer: curl kan ladda ner filer från URL:er.
- Webbscraping: curl kan hämta webbsidors innehåll för scraping-syften.
- Testning av webbplatser: curl är användbart för att kontrollera om en webbplats är tillgänglig och hämta dess innehåll.
API-interaktioner
- Skicka API-förfrågningar: curl stöder olika HTTP-metoder (GET, POST, PUT, DELETE) för interaktion med API:er.
- Testning av API-ändpunkter: curl ger ett snabbt sätt att testa och felsöka API-ändpunkter utan att behöva en dedikerad API-klient.
Nätverksfelsökning
- Kontrollera anslutning: curl kan användas för att verifiera nätverksanslutningar och felsöka problem.
- Testa DNS: curl låter dig tvinga fram specifika DNS-servrar för felsökning av DNS-relaterade problem.
- Inspektera rubriker: curl kan visa HTTP-rubriker, vilket är användbart för felsökning.
Dataöverföring
- FTP-operationer: curl stöder filöverföringar med File Transfer Protocol (FTP).
- SMTP-interaktioner: curl kan användas för att skicka e-post via Simple Mail Transfer Protocol (SMTP).
Säkerhet och autentisering
- SSL-anslutningar: curl stöder säkra anslutningar med SSL/TLS.
- Autentisering: curl kan hantera olika autentiseringsmetoder, inklusive grundläggande autentisering och klientcertifikat.
Utveckling och felsökning
- Simulera olika HTTP-metoder: curl låter utvecklare enkelt testa olika HTTP-metoder.
- Detaljerad loggning: curls detaljerade läge ger detaljerad information om förfrågan-svar-cykeln, vilket hjälper till vid felsökning.
Dessa användningsområden demonstrerar curls flexibilitet som verktyg för webbinteraktioner, API-testning, nätverksfelsökning och utvecklingsuppgifter.
Testning av webbplatsprestanda med cURL
curl är ett kraftfullt verktyg för att testa webbplatsprestanda. Här är hur du kan använda det för att mäta olika aspekter av en webbplats laddningstid:
Grundläggande prestandatest
För att få ett enkelt mått på en webbplats laddningstid, använd detta kommando:
curl -o /dev/null -s -w "Total tid: %{time_total}s\n" "https://example.com"
Det här kommandot kommer att visa den totala tiden det tog att hämta webbplatsen[2].
Detaljerade prestandamått
För en mer omfattande analys kan du använda curl för att mäta flera prestandamått:
curl -s -w 'Testar webbplatsens svarstid för :%{url_effective}\n\nLookup-tid:\t\t%{time_namelookup}\nAnslutningstid:\t\t%{time_connect}\nFöroverföringstid:\t%{time_pretransfer}\nStartöverföringstid:\t%{time_starttransfer}\n\nTotal tid:\t\t%{time_total}\n' -o /dev/null https://example.com
Det här kommandot ger en uppdelning av olika steg i laddningsprocessen, inklusive DNS-lookup-tid, anslutningstid och total tid[1].
Avancerade mått
För ännu mer detaljerad analys kan du inkludera ytterligare mått:
curl -o /dev/null -w "HTTP-version: %{http_version}\nSidstorlek: %{size_download} bytes\nSvarskod: %{response_code}\nDNS-lookup: %{time_namelookup} sek\nAnslutningstid: %{time_connect} sek\nTid till första byte: %{time_starttransfer} sek\nTotal tid: %{time_total} sek\n" -s https://example.com
Det här kommandot inkluderar information om HTTP-version, sidstorlek och svarskod[3].
Benchmarking av flera förfrågningar
För att testa konsistens eller övervaka prestanda över tid kan du använda en loop för att göra flera förfrågningar:
for i in {1..5}; do curl -o /dev/null -s -w "Förfrågan $i Total tid: %{time_total}\n" https://example.com; done
Det här kommer att köra testet fem gånger och visa den totala tiden för varje förfrågan[3].
Skapa ett prestandatestskript
Du kan skapa ett enkelt bash-skript för att automatisera dessa tester och spara resultaten:
#!/bin/bash
curl -s -w 'Testar webbplatsens svarstid för :%{url_effective}\n\nLookup-tid:\t\t%{time_namelookup}\nAnslutningstid:\t\t%{time_connect}\nFöroverföringstid:\t%{time_pretransfer}\nStartöverföringstid:\t%{time_starttransfer}\n\nTotal tid:\t\t%{time_total}\n' -o /dev/null URL > webspeedtest_"$(date)"
Ersätt “URL” med den webbplats du vill testa. Det här skriptet kommer att spara resultaten i en fil med tidsstämpel[5].
Genom att använda dessa curl-kommandon och skript kan du effektivt mäta och övervaka webbplatsprestanda, vilket hjälper dig att identifiera potentiella flaskhalsar och optimera laddningstider.