Skip to content

curl-flag forklarede

De curl-flag, der bruges hver dag, grupperet efter opgave: forme forespørgslen, sætte headers, godkende, fremvise en identitet, styre output, følge omdirigeringer, finjustere forbindelsen og fejlfinde. Hver række parrer flaget med et realistisk kald.

curl sender en HTTP-forespørgsel og udskriver svarets body. Størstedelen af kraften ligger i flagene: de vælger metoden, vedhæfter headers og data, håndterer godkendelse og bestemmer, hvad der udskrives. Langformen vises, hvor den er klarere; kortformen er det enkelte bogstav. Sæt URL'er i anførselstegn, så shell'en ikke æder query-strengen.

Referencetabel · 54 poster
54 of 54 rows
Forespørgslens form
Sætter HTTP-metoden.curl -X POST https://api.test
Tilføjer en header til forespørgslen.curl -H "Accept: application/json" URL
Sender en body (sætter POST og en standard content-type).curl -d "name=Ada" URL
Vedhæfter -d-værdier som query-parametre på et GET.curl -G -d "q=hi" URL
Sender multipart-formulardata (filupload).curl -F "file=@photo.png" URL
Sender formulardata med URL-kodning anvendt.curl --data-urlencode "name=Ada Lovelace" URL
Uploader en fil med PUT.curl -T big.zip URL
Føjer et upload til fjernfilen i stedet for at erstatte den.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON & API'er
Sender JSON med den korrekte content-type.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Sender indholdet af en fil som body.curl -d @body.json URL
Sender JSON uden at sætte headers i hånden (curl 7.82+).curl --json '{"a":1}' URL
Godkendelse
HTTP Basic-godkendelse med bruger og adgangskode.curl -u ada:s3cr3t URL
Sender en OAuth bearer-token.curl --oauth2-bearer TOKEN URL
Sender ethvert token-skema i hånden.curl -H "Authorization: Bearer TOKEN" URL
Fremlægger et klientcertifikat og dets nøgle til mutual TLS.curl --cert client.pem --key key.pem URL
Verificerer serveren mod én enkelt CA-bundle-fil.curl --cacert ca.pem URL
Verificerer serveren mod et bibliotek af CA'er.curl --capath /etc/ssl/certs URL
Sender forespørgslen gennem en proxy.curl -x http://proxy.test:8080 URL
Springer TLS-verifikation over kun for proxy-hoppen.curl -x https://proxy.test:8443 --proxy-insecure URL
Kræver TLS 1.3 som minimumsversion.curl --tlsv1.3 URL
Identitet
Sender en egen User-Agent-streng.curl -A "Mozilla/5.0" URL
Sender en Referer-header.curl -e https://example.com/page URL
Sender cookies med forespørgslen.curl -b "session=abc123" URL
Gemmer svar-cookies i en fil.curl -c cookies.txt URL
Output
Skriver bodyen til en fil.curl -o page.html URL
Gemmer bodyen under fjernfilnavnet.curl -O https://site/file.tgz
Udskriver svar-headers over bodyen.curl -i URL
Henter kun headers (sender HEAD).curl -I URL
Skjuler fremgangsmåleren og fejlmeddelelser.curl -s URL
Udskriver en formatstreng efter bodyen (timing, status).curl -w "%{http_code}\n" -o /dev/null URL
Afslutter med non-zero ved HTTP-fejl og springer fejl-bodyen over.curl -f URL
Afslutter med non-zero ved HTTP-fejl, men udskriver stadig bodyen.curl --fail-with-body URL
Navngiver den gemte fil ud fra Content-Disposition-headern.curl -OJ URL
Genoptager en afbrudt overførsel der, hvor den stoppede.curl -C - -O URL
Viser en fremgangslinje i stedet for standardmåleren.curl -# -O URL
Udskriver fejl også i stille tilstand.curl -sS URL
Skriver svar-headers til en fil.curl -D headers.txt URL
Bedder om et komprimeret svar og afkoder det.curl --compressed URL
Opretter manglende mapper i -o-stien.curl -o cache/api/data.json --create-dirs URL
Omdirigeringer & forbindelse
Følger 3xx-omdirigeringer.curl -L URL
Maks. sekunder at vente på TCP-forbindelsen.curl --connect-timeout 5 URL
Maks. sekunder for hele forespørgslen.curl --max-time 30 URL
Springer TLS-certifikatverifikation over.curl -k https://self-signed.test
Prøver forbigående fejl igen op til N gange.curl --retry 3 URL
Prøver igen ved enhver fejl, ikke kun forbigående.curl --retry 3 --retry-all-errors URL
Tvinger forbindelsen over IPv4 eller IPv6.curl -4 URL
Afbilder en vært og port til en adresse uden om DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Binder overførslen til et netværksinterface eller en adresse.curl --interface eth0 URL
Overfører flere URL'er på samme tid.curl -Z URL1 URL2
Bruger HTTP/2 eller HTTP/3 til overførslen.curl --http3 URL
Strømmer bodyen, efterhånden som den ankommer, i stedet for at buffere.curl -N URL
Læser flere flag fra en konfigurationsfil.curl -K flags.cfg URL
Fejlfinding
Udskriver hele udvekslingen af forespørgsel og svar.curl -v URL
Hex-dumper alt, hvad der sendes og modtages.curl --trace - URL