Skip to content

curl-vlaggen uitgelegd

De curl-vlaggen voor dagelijks gebruik, gegroepeerd op taak: het verzoek vormgeven, headers instellen, authenticeren, een identiteit tonen, uitvoer beheren, redirects volgen, de verbinding afstellen en debuggen. Elke rij koppelt de vlag aan een realistische aanroep.

curl verstuurt een HTTP-verzoek en print de responsbody. Het grootste deel van de kracht zit in de vlaggen: ze kiezen de methode, voegen headers en data toe, regelen authenticatie en bepalen wat geprint wordt. De lange vorm staat waar die duidelijker is; de korte vorm is de enkele letter. Zet URL's tussen aanhalingstekens zodat de shell de querystring niet oppeet.

Referentietabel · 54 items
54 of 54 rows
Vorm van het verzoek
Stel de HTTP-methode in.curl -X POST https://api.test
Voeg een verzoekheader toe.curl -H "Accept: application/json" URL
Stuur een body (zet POST en een standaard contenttype).curl -d "name=Ada" URL
Voeg -d-waarden als queryparameters toe aan een GET.curl -G -d "q=hi" URL
Stuur multipart-formulierdata (bestandsuploads).curl -F "file=@photo.png" URL
Stuur formulierdata met URL-codering toegepast.curl --data-urlencode "name=Ada Lovelace" URL
Upload een bestand met PUT.curl -T big.zip URL
Voeg een upload toe aan het externe bestand in plaats van het te vervangen.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON en API's
Stuur JSON met het juiste contenttype.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Stuur de inhoud van een bestand als body.curl -d @body.json URL
Stuur JSON zonder de headers handmatig in te stellen (curl 7.82+).curl --json '{"a":1}' URL
Authenticatie
HTTP Basic-authenticatie met gebruiker en wachtwoord.curl -u ada:s3cr3t URL
Stuur een OAuth-bearer-token.curl --oauth2-bearer TOKEN URL
Stuur elk tokenschema handmatig.curl -H "Authorization: Bearer TOKEN" URL
Toon een clientcertificaat en de bijbehorende sleutel voor mutual TLS.curl --cert client.pem --key key.pem URL
Verifieer de server aan de hand van één CA-bundelbestand.curl --cacert ca.pem URL
Verifieer de server aan de hand van een map met CA's.curl --capath /etc/ssl/certs URL
Stuur het verzoek via een proxy.curl -x http://proxy.test:8080 URL
Sla TLS-verificatie alleen over voor de hop naar de proxy.curl -x https://proxy.test:8443 --proxy-insecure URL
Vereis TLS 1.3 als minimale versie.curl --tlsv1.3 URL
Identiteit
Stuur een eigen User-Agent-string.curl -A "Mozilla/5.0" URL
Stuur een Referer-header.curl -e https://example.com/page URL
Stuur cookies mee met het verzoek.curl -b "session=abc123" URL
Bewaar responscookies in een bestand.curl -c cookies.txt URL
Uitvoer
Schrijf de body naar een bestand.curl -o page.html URL
Bewaar de body onder de externe bestandsnaam.curl -O https://site/file.tgz
Print responsheaders boven de body.curl -i URL
Haal alleen headers op (verstuurt HEAD).curl -I URL
Verberg de voortgangsmeter en fouten.curl -s URL
Print een opmaakstring na de body (timing, status).curl -w "%{http_code}\n" -o /dev/null URL
Sluit af met een niet-nulcode bij HTTP-fouten en sla de foutbody over.curl -f URL
Sluit af met een niet-nulcode bij HTTP-fouten, maar print de body alsnog.curl --fail-with-body URL
Benoem het opgeslagen bestand naar de Content-Disposition-header.curl -OJ URL
Hervat een afgebroken overdracht waar die stopte.curl -C - -O URL
Toon een voortgangsbalk in plaats van de standaardmeter.curl -# -O URL
Print fouten ook in de stille modus.curl -sS URL
Schrijf de responsheaders naar een bestand.curl -D headers.txt URL
Vraag een gecomprimeerde respons aan en decodeer die.curl --compressed URL
Maak ontbrekende mappen aan in het -o-pad.curl -o cache/api/data.json --create-dirs URL
Redirects en verbinding
Volg 3xx-redirects.curl -L URL
Maximaal aantal seconden wachten op de TCP-verbinding.curl --connect-timeout 5 URL
Maximaal aantal seconden voor het hele verzoek.curl --max-time 30 URL
Sla de verificatie van het TLS-certificaat over.curl -k https://self-signed.test
Probeer tijdelijke fouten tot N keer opnieuw.curl --retry 3 URL
Probeer bij elke fout opnieuw, niet alleen bij tijdelijke.curl --retry 3 --retry-all-errors URL
Dwing de verbinding over IPv4 of IPv6.curl -4 URL
Wijs een host en poort toe aan een adres, buiten DNS om.curl --resolve api.test:443:127.0.0.1 https://api.test
Bind de overdracht aan een netwerkinterface of adres.curl --interface eth0 URL
Verstuur meerdere URL's tegelijk.curl -Z URL1 URL2
Gebruik HTTP/2 of HTTP/3 voor de overdracht.curl --http3 URL
Stream de body zodra die binnenkomt in plaats van te bufferen.curl -N URL
Lees verdere vlaggen uit een configuratiebestand.curl -K flags.cfg URL
Foutopsporing
Print de volledige uitwisseling van verzoek en respons.curl -v URL
Hex-dump alles wat verstuurd en ontvangen wordt.curl --trace - URL