Skip to content

Flaguri curl explicate

Flagurile curl folosite zi de zi, grupate după sarcină: formezi cererea, setezi antete, te autentifici, prezinți o identitate, controlezi rezultatul, urmărești redirecționările, reglezi conexiunea și depanezi. Fiecare rând asociază flagul cu o invocare realistă.

curl trimite o cerere HTTP și afișează corpul răspunsului. Cea mai mare parte a puterii lui stă în flaguri: aleg metoda, atașează antete și date, se ocupă de autentificare și decid ce se afișează. Forma lungă apare unde e mai clară; forma scurtă este litera singulară. Pune URL-urile între ghilimele ca shell-ul să nu înghită șirul de query.

Tabel de referință · 54 intrări
54 of 54 rows
Forma cererii
Stabilește metoda HTTP.curl -X POST https://api.test
Adaugă un antet de cerere.curl -H "Accept: application/json" URL
Trimite un corp (setează POST și un tip de conținut implicit).curl -d "name=Ada" URL
Atașează valorile -d ca parametri de query pe un GET.curl -G -d "q=hi" URL
Trimite date multipart (încărcări de fișiere).curl -F "file=@photo.png" URL
Trimite date de formular cu codare URL aplicată.curl --data-urlencode "name=Ada Lovelace" URL
Încarcă un fișier cu PUT.curl -T big.zip URL
Adaugă o încărcare la fișierul remote în loc să îl înlocuiască.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON și API-uri
Trimite JSON cu tipul de conținut corect.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Trimite conținutul unui fișier ca body.curl -d @body.json URL
Trimite JSON fără a seta manual antetele (curl 7.82+).curl --json '{"a":1}' URL
Autentificare
Autentificare HTTP Basic cu utilizator și parolă.curl -u ada:s3cr3t URL
Trimite un token bearer OAuth.curl --oauth2-bearer TOKEN URL
Trimite manual orice schemă de token.curl -H "Authorization: Bearer TOKEN" URL
Prezintă un certificat de client și cheia lui pentru mutual TLS.curl --cert client.pem --key key.pem URL
Verifică serverul față de un singur fișier de pachet CA.curl --cacert ca.pem URL
Verifică serverul față de un director de CA.curl --capath /etc/ssl/certs URL
Trimite cererea printr-un proxy.curl -x http://proxy.test:8080 URL
Sări peste verificarea TLS doar pentru hopul către proxy.curl -x https://proxy.test:8443 --proxy-insecure URL
Cere TLS 1.3 ca versiune minimă.curl --tlsv1.3 URL
Identitate
Trimite un șir User-Agent propriu.curl -A "Mozilla/5.0" URL
Trimite un antet Referer.curl -e https://example.com/page URL
Trimite cookie-uri odată cu cererea.curl -b "session=abc123" URL
Salvează cookie-urile din răspuns într-un fișier.curl -c cookies.txt URL
Ieșire
Scrie corpul într-un fișier.curl -o page.html URL
Salvează corpul folosind numele remote al fișierului.curl -O https://site/file.tgz
Afișează antetele răspunsului deasupra corpului.curl -i URL
Preia doar antetele (trimite HEAD).curl -I URL
Ascunde indicatorul de progres și erorile.curl -s URL
Afișează un șir de format după corp (timpi, stare).curl -w "%{http_code}\n" -o /dev/null URL
Iese cu cod diferit de zero la erori HTTP și omite corpul erorii.curl -f URL
Iese cu cod diferit de zero la erori HTTP, dar afișează corpul.curl --fail-with-body URL
Denumește fișierul salvat după antetul Content-Disposition.curl -OJ URL
Reia un transfer întrerupt de unde s-a oprit.curl -C - -O URL
Afișează o bară de progres în locul indicatorului implicit.curl -# -O URL
Afișează erorile și în modul silențios.curl -sS URL
Scrie antetele răspunsului într-un fișier.curl -D headers.txt URL
Cere un răspuns comprimat și îl decodifică.curl --compressed URL
Creează directoarele lipsă din calea -o.curl -o cache/api/data.json --create-dirs URL
Redirecționări și conexiune
Urmărește redirecționările 3xx.curl -L URL
Maxim de secunde de așteptat pentru conectarea TCP.curl --connect-timeout 5 URL
Maxim de secunde pentru toată cererea.curl --max-time 30 URL
Sări peste verificarea certificatului TLS.curl -k https://self-signed.test
Reîncearcă erorile tranzitorii de până la N ori.curl --retry 3 URL
Reîncearcă la orice eroare, nu doar la cele tranzitorii.curl --retry 3 --retry-all-errors URL
Forțează conexiunea prin IPv4 sau IPv6.curl -4 URL
Mapează un host și un port la o adresă, ocolind DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Leagă transferul de o interfață de rețea sau de o adresă.curl --interface eth0 URL
Transferă mai multe URL-uri în același timp.curl -Z URL1 URL2
Folosește HTTP/2 sau HTTP/3 pentru transfer.curl --http3 URL
Transmite corpul pe măsură ce sosește, în loc să îl stocheze.curl -N URL
Citește restul flagurilor dintr-un fișier de configurare.curl -K flags.cfg URL
Depanare
Afișează întreaga schimb de cerere și răspuns.curl -v URL
Hex-dump pentru tot ce se trimite și se primește.curl --trace - URL