Skip to content

curl-flaggor förklarade

curl-flaggorna som används dagligen, grupperade efter jobb: forma förfrågan, sätt headrar, autentisera, presentera en identitet, styr utdata, följ omdirigeringar, finjustera anslutningen och felsök. Varje rad parar flaggan med ett realistiskt anrop.

curl skickar en HTTP-förfrågan och skriver ut svarskroppen. Det mesta av kraften ligger i flaggorna: de väljer metod, fäster headrar och data, sköter autentisering och avgör vad som skrivs ut. Långformen visas där den är tydligast; kortformen är den enskilda bokstaven. Sätt URL:er inom citattecken så att skalet inte äter upp querysträngen.

Referenstabell · 54 poster
54 of 54 rows
Förfrågans form
Ställer in HTTP-metoden.curl -X POST https://api.test
Lägger till en förfrågningsheader.curl -H "Accept: application/json" URL
Skickar en body (sätter POST och en standardinnehållstyp).curl -d "name=Ada" URL
Lägger till -d-värden som queryparametrar på en GET.curl -G -d "q=hi" URL
Skickar multipart-formulärdata (filuppladdningar).curl -F "file=@photo.png" URL
Skickar formulärdata med URL-kodning tillämpad.curl --data-urlencode "name=Ada Lovelace" URL
Laddar upp en fil med PUT.curl -T big.zip URL
Lägger till en uppladdning i fjärrfilen i stället för att ersätta den.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON och API:er
Skickar JSON med rätt innehållstyp.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Skickar innehållet i en fil som body.curl -d @body.json URL
Skickar JSON utan att sätta headrarna manuellt (curl 7.82+).curl --json '{"a":1}' URL
Autentisering
HTTP Basic-autentisering med användare och lösenord.curl -u ada:s3cr3t URL
Skickar en OAuth-bearer-token.curl --oauth2-bearer TOKEN URL
Skickar valfritt tokenschema manuellt.curl -H "Authorization: Bearer TOKEN" URL
Visar upp ett klientcertifikat och dess nyckel för ömsesidig TLS.curl --cert client.pem --key key.pem URL
Verifierar servern mot en enda CA-buntfil.curl --cacert ca.pem URL
Verifierar servern mot en katalog med CA:er.curl --capath /etc/ssl/certs URL
Skickar förfrågan via en proxy.curl -x http://proxy.test:8080 URL
Hoppar över TLS-verifiering endast för proxyhoppet.curl -x https://proxy.test:8443 --proxy-insecure URL
Kräver TLS 1.3 som lägsta version.curl --tlsv1.3 URL
Identitet
Skickar en egen User-Agent-sträng.curl -A "Mozilla/5.0" URL
Skickar en Referer-header.curl -e https://example.com/page URL
Skickar cookies med förfrågan.curl -b "session=abc123" URL
Sparar svarskakor i en fil.curl -c cookies.txt URL
Utdata
Skriver bodyn till en fil.curl -o page.html URL
Sparar bodyn med fjärrfilens namn.curl -O https://site/file.tgz
Skriver ut svarshuvuden ovanför bodyn.curl -i URL
Hämtar endast huvuden (skickar HEAD).curl -I URL
Döljer förloppsmätaren och fel.curl -s URL
Skriver ut en formatsträng efter bodyn (tidsmätning, status).curl -w "%{http_code}\n" -o /dev/null URL
Avslutar med icke-noll vid HTTP-fel och hoppar över felkroppen.curl -f URL
Avslutar med icke-noll vid HTTP-fel men skriver ändå ut bodyn.curl --fail-with-body URL
Namnger den sparade filen efter Content-Disposition-huvudet.curl -OJ URL
Återupptar en avbruten överföring där den stannade.curl -C - -O URL
Visar en förloppslist i stället för standardmätaren.curl -# -O URL
Skriver ut fel även i tyst läge.curl -sS URL
Skriver svarshuvudena till en fil.curl -D headers.txt URL
Begär ett komprimerat svar och avkodar det.curl --compressed URL
Skapar saknade kataloger i -o-sökvägen.curl -o cache/api/data.json --create-dirs URL
Omdirigeringar och anslutning
Följer 3xx-omdirigeringar.curl -L URL
Max antal sekunder att vänta på TCP-anslutningen.curl --connect-timeout 5 URL
Max antal sekunder för hela förfrågan.curl --max-time 30 URL
Hoppar över verifiering av TLS-certifikatet.curl -k https://self-signed.test
Försöker om tillfälliga fel upp till N gånger.curl --retry 3 URL
Försöker om vid alla fel, inte bara tillfälliga.curl --retry 3 --retry-all-errors URL
Tvingar anslutningen över IPv4 eller IPv6.curl -4 URL
Mappar en värd och en port till en adress, förbi DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Binder överföringen till ett nätverksgränssnitt eller en adress.curl --interface eth0 URL
Överför flera URL:er samtidigt.curl -Z URL1 URL2
Använder HTTP/2 eller HTTP/3 för överföringen.curl --http3 URL
Strömmar bodyn i takt med att den anländer, i stället för att buffra.curl -N URL
Läser fler flaggor från en konfigurationsfil.curl -K flags.cfg URL
Felsökning
Skriver ut hela utbytet av förfrågan och svar.curl -v URL
Hex-dumpar allt som skickas och tas emot.curl --trace - URL