Snabbguide för cURL
Användbara cUrl-befäl med parametrar
Här är ett snabbreferensdokument för de mest användbara cURL-befäl med deras parametrar:

Bilden ovan är genererad av Flux - AI-modell för text-till-bild.
cURL är ett väsentligt verktyg för kommandotolken för att skicka HTTP-begäran och överföra data. För en komplett guide till utvecklarverktyg inklusive Git, Docker, VS Code, bash, Terraform, PostgreSQL, GitHub Actions och Linux-pakethantering, se Utvecklarverktyg: Den kompletta guiden till moderna utvecklingsflöden.
Grundläggande användning av cURL
- 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-begäran:
curl -X POST -d 'name=value' http://example.com - PUT-begäran:
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ärdator:
curl -F "key=value" -F "file=@localfile" http://example.com
SSL/TLS-alternativ
- Ignorera SSL-certifikats verifiering:
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 - Utförligt läge:
curl -v http://example.com - Skriv utdata till fil:
curl -o file.html http://example.com - Spara med fjärrfilnamn:
curl -O http://example.com/file.zip
Övrigt
- Återuppta en misslyckad nedladdning:
curl -C - -o partial_file.zip http://example.com/file.zip - Sätt en tidsgräns:
curl --connect-timeout 10 http://example.com - Använd en konfigurationsfil:
curl -K config_file http://example.com
Denna snabbreferens täcker de mest använda cURL-befäl och deras parametrar, och ger en snabb referens för olika HTTP-åtgärder och dataöverföringar.
Avancerade cURL-befäl
Här är några avancerade curl-befäl för felsökning:
-
Utförlig utdata:
curl -v https://example.comDetta befall ger detaljerad information om begäran och svaret, inklusive rubriker och anslutningsdetaljer. -
Full spårning (trace dump):
curl --trace - https://example.comDetta ger en hexdump av all inkommande och utgående data, vilket ger en omfattande översikt över hela kommunikationen. -
Spårning med tidsstämplar:
curl --trace - --trace-time https://example.comDetta lägger till tidsstämplar i spårningsutdata, vilket hjälper till att analysera tidsrelaterade problem. -
Visa endast svarsrubriker:
curl -s -o /dev/null -D - https://example.comDetta befall visar endast svarsrubrikerna, vilket är användbart för snabb analys av rubriker. -
Visa endast begäranrubriker:
curl -v -s -o /dev/null --stderr - https://example.com | grep '^>'Detta komplexa befall filtrerar ut endast begäranrubrikerna, vilket är användbart för att inspektera vad som skickas. -
Använd Pantheon Debugger:
curl -I -H "Pantheon-Debug:1" https://example.comDetta befall använder Pantheons Debug-rubrik för att få ytterligare information om en begäran, vilket är användbart för Pantheon-hostade webbplatser. -
Tvinga HTTP/2-protokollet:
curl --http2 https://example.comDetta säkerställer användningen av HTTP/2-protokollet, vilket kan kombineras med -I för att verifiera HTTP/2-stöd. -
Felsök med netcat: I en terminal:
nc -l 1234I en annan:curl http://127.0.0.1:1234Detta låter dig se exakt vad curl skickar, vilket är användbart för felsökning av last.
Dessa avancerade befäl ger kraftfulla felsökningsmöjligheter och låter utvecklare inspektera olika aspekter av HTTP-kommunikation och felsöka komplexa problem.
Vanliga användningsområden för cURL
curl är ett mångsidigt verktyg för kommandotolken med många användningsområden. 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.
- Webbskräpning: curl kan hämta innehåll från webbsidor för skräpningsändamål.
- 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-begäran: curl stöder olika HTTP-metoder (GET, POST, PUT, DELETE) för att interagera med APIs.
- Testa API-endpunkter: curl ger ett snabbt sätt att testa och felsöka API-endpunkter 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 tillåter att man tvingar specifika DNS-servrar för att felsöka 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 hjälp av 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 hjälp av 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 testa olika HTTP-metoder enkelt.
- Utförlig loggning: curls utförliga läge ger detaljerad information om begäran-svar-cykeln, vilket underlättar felsökning.
Dessa användningsområden demonstrerar curls flexibilitet som ett verktyg för webbinteraktioner, API-testning, nätverksfelsökning och utvecklingsuppgifter.
Testa 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å en enkel mätning av en webbplats laddningstid, använd detta befall:
curl -o /dev/null -s -w "Total Time: %{time_total}s\n" "https://example.com"
Detta befall kommer att visa den totala tiden det tog att hämta webbplatsen[2].
Detaljerade prestandamätningar
För en mer omfattande analys kan du använda curl för att mäta flera prestandamätningar:
curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://example.com
Detta befall ger en uppdelning av olika steg i laddningsprocessen, inklusive DNS-uppslagstid, anslutningstid och total tid[1].
Avancerade mätningar
För ännu mer detaljerad analys kan du inkludera ytterligare mätningar:
curl -o /dev/null -w "HTTP Version: %{http_version}\nPage Size: %{size_download} bytes\nResponse Code: %{response_code}\nDNS Lookup: %{time_namelookup} sec\nConnect Time: %{time_connect} sec\nTime to First Byte: %{time_starttransfer} sec\nTotal Time: %{time_total} sec\n" -s https://example.com
Detta befall inkluderar information om HTTP-versionen, sidstorlek och svars kod[3].
Belastningstest med flera begäran
För att testa konsistens eller övervaka prestanda över tid kan du använda en loop för att göra flera begäran:
for i in {1..5}; do curl -o /dev/null -s -w "Request $i Total Time: %{time_total}\n" https://example.com; done
Detta kör testet fem gånger och visar den totala tiden för varje begäran[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 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null URL > webspeedtest_"$(date)"
Byt ut “URL” mot webbplatsen du vill testa. Detta skript sparar resultaten i en fil med tidsstämpel[5].
Genom att använda dessa curl-befäl och skript kan du effektivt mäta och övervaka webbplatsprestanda, vilket hjälper dig att identifiera potentiella flaskhalsar och optimera laddningstider.