Référence complète des commandes curl : GET, POST, PUT, DELETE, headers, cookies, proxy, SSL et transferts.
Télécharge ou transfère des données depuis une URL
-o, --output <file>⚠️-O, --remote-name⚠️-L, --location-s, --silent-v, --verbose-i, --include-I, --head-u, --user <user:password>⚠️-A, --user-agent <name>⚠️-H, --header <header>⚠️-d, --data <data>⚠️-X, --request <method>⚠️-k, --insecure--compressed-c, --cookie-jar <file>⚠️-b, --cookie <data>⚠️--max-time <seconds>⚠️--connect-timeout <seconds>⚠️--retry <num>⚠️--retry-delay <seconds>⚠️-F, --form <name=content>⚠️--data-urlencode <data>⚠️--data-binary <data>⚠️--data-raw <data>⚠️-G, --get-e, --referer <url>⚠️-T, --upload-file <file>⚠️--limit-rate <speed>⚠️--max-filesize <bytes>⚠️-r, --range <range>⚠️--proxy <url>⚠️-x, --proxy <url>⚠️--socks5 <host:port>⚠️--noproxy <no-proxy-list>⚠️-4, --ipv4-6, --ipv6-w, --write-out <format>⚠️--trace <file>⚠️--trace-ascii <file>⚠️-Z, --parallel--parallel-max <num>⚠️--parallel-immediate-q, --disable--config <file>⚠️-K, --config <file>⚠️
Effectue une requête HTTP GET explicite
-H "Accept: application/json"-H "Authorization: Bearer <token>"⚠️--url <url>⚠️-v-s-i--compressed-o <file>⚠️-w "%{http_code}"
Envoie une requête HTTP POST avec des données
-H "Content-Type: application/json"-d "{\"key\": \"value\"}"--data-binary @file.json--data-urlencode "param=value"-F "file=@/path/to/file"⚠️-u user:password-H "Authorization: Bearer <token>"⚠️-v-s-o <file>⚠️
Met à jour une ressource via HTTP PUT
-H "Content-Type: application/json"-d "{\"key\": \"value\"}"--data-binary @file.json-H "Authorization: Bearer <token>"⚠️-v-s-w "%{http_code}"
Modifie partiellement une ressource via HTTP PATCH
-H "Content-Type: application/json"-d "{\"key\": \"value\"}"-H "Authorization: Bearer <token>"⚠️-v-s
Supprime une ressource via HTTP DELETE
-H "Authorization: Bearer <token>"⚠️-v-s-w "%{http_code}"-o /dev/null
Récupère uniquement les headers HTTP (HEAD request)
--head-s-v-H "Accept: */*"--url <url>⚠️
Suit automatiquement les redirections HTTP
--location--max-redirs <num>⚠️--location-trusted-v-s-o <file>⚠️
Authentification HTTP Basic
--user <user:password>⚠️--anyauth--basic--digest--negotiate--ntlm-n, --netrc--netrc-optional
Ajoute un header HTTP personnalisé à la requête
-H "Content-Type: application/json"-H "Authorization: Bearer token"-H "Accept: application/json"-H "Cache-Control: no-cache"-H "X-Custom-Header: value"-H "User-Agent: MyApp/1.0"
Envoie des données dans le corps de la requête (POST)
--data <data>⚠️--data-ascii <data>⚠️--data-binary @file--data-raw <data>⚠️--data-urlencode <data>⚠️--json <data>⚠️-T, --upload-file <file>⚠️
Sauvegarde la réponse dans un fichier spécifié
--output <file>⚠️-O, --remote-name⚠️-J, --remote-header-name⚠️--output-dir <dir>⚠️--create-dirs-#, --progress-bar-s, --silent
Ignore les erreurs de certificat SSL/TLS
--insecure--cacert <file>⚠️--capath <dir>⚠️--cert <certificate>⚠️--key <key>⚠️--cert-type PEM--key-type PEM--pinnedpubkey <hash>⚠️--ssl--tls-max <version>⚠️--tlsv1.2--tlsv1.3
Demande et décompresse automatiquement la réponse gzip
--tr-encoding-H "Accept-Encoding: gzip, deflate"--raw⚠️
Sauvegarde les cookies reçus dans un fichier (cookie jar)
--cookie-jar <file>⚠️-b, --cookie <data>⚠️-b <cookie-file>⚠️--cookie-jar /dev/null--junk-session-cookies
Réessaie automatiquement en cas d'échec de connexion
--retry <num>⚠️--retry-delay <seconds>⚠️--retry-max-time <seconds>⚠️--retry-connrefused⚠️--retry-all-errors⚠️--connect-timeout <seconds>⚠️--max-time <seconds>⚠️
Envoie des données multipart/form-data (upload de fichier)
-F "name=value"⚠️-F "file=@/path/to/file"⚠️-F "file=@file;type=image/png"⚠️-F "name=value;filename=custom"⚠️--form-string <name=value>⚠️
Utilise un proxy HTTP/HTTPS/SOCKS pour la requête
--proxy <url>⚠️--proxy-user <user:password>⚠️--socks4 <host:port>⚠️--socks5 <host:port>⚠️--socks5-hostname <host:port>⚠️--noproxy <list>⚠️--proxy-insecure--proxy-cacert <file>⚠️
Affiche des informations de formatage après la requête
-w "%{http_code}"-w "%{time_total}"-w "%{time_connect}"-w "%{size_download}"-w "%{speed_download}"-w "%{url_effective}"-w "%{content_type}"-o /dev/null-s
Effectue plusieurs transferts en parallèle
--parallel--parallel-max <num>⚠️--parallel-immediate-o <file1>⚠️-o <file2>⚠️
Télécharge une plage d'octets spécifique du fichier
--range <range>⚠️-r 0-1023⚠️-r -500⚠️-r 1024-⚠️-C, --continue-at <offset>⚠️-C -
Limite la vitesse de transfert en upload et download
--limit-rate <speed>⚠️--limit-rate 100K⚠️--limit-rate 1M⚠️--max-filesize <bytes>⚠️--speed-limit <speed>⚠️--speed-time <seconds>⚠️
Mode verbose : affiche les headers et les détails de connexion
--verbose--trace <file>⚠️--trace-ascii <file>⚠️--trace-time-s, --silent-q, --disable
Résout manuellement un nom d'hôte vers une IP
--resolve <host:port:address>⚠️--connect-to <host1:port1:host2:port2>⚠️--dns-servers <addresses>⚠️--dns-interface <interface>⚠️--dns-ipv4-addr <address>⚠️--dns-ipv6-addr <address>⚠️
Charge les options depuis un fichier de configuration
-K, --config <file>⚠️-q, --disable (ignore .curlrc)--netrc--netrc-file <file>⚠️--netrc-optional