Présentation
Le transfert de données vers et depuis un serveur nécessite des outils prenant en charge les protocoles réseau nécessaires. Linux a plusieurs outils créés à cet effet, les plus populaires étant curl et wget.
Ce tutoriel vous montrera comment utiliser le curl
commande et vous fournir une liste exhaustive des options disponibles.

Prérequis
- Accès à la borne
- Accès Internet
- curl installé
Qu'est-ce que la commande curl ?
curl
(abréviation de "Client URL") est un outil de ligne de commande qui permet le transfert de données sur divers protocoles réseau. Il communique avec un serveur Web ou d'application en spécifiant une URL pertinente et les données qui doivent être envoyées ou reçues.
curl
est alimenté par libcurl, une bibliothèque portable de transfert d'URL côté client. Vous pouvez l'utiliser directement sur la ligne de commande ou l'inclure dans un script. Les cas d'utilisation les plus courants pour curl
sont :
- Télécharger des fichiers depuis Internet
- Tests des points de terminaison
- Débogage
- Journalisation des erreurs
syntaxe curl
Le curl
de base la syntaxe est la suivante :
curl [options/URLs]
Par exemple :
curl https://www.gnu.org/gnu/gnu.html
Le système affiche le contenu HTML trouvé sur l'URL fournie après le curl
commande.

Si vous spécifiez une URL qui mène à un fichier, vous pouvez utiliser curl
pour télécharger le fichier sur votre système local :
curl [url] > [local-file]
La barre de progression indique la quantité de fichier téléchargée jusqu'à présent.

La syntaxe des URL faisant partie de la commande dépend du protocole. Plusieurs URL qui diffèrent dans une partie sont écrites ensemble à l'aide d'accolades :
http://example.{first,second,third}.com
Les séries alphanumériques sont écrites entre parenthèses :
ftp://ftp.url.com/file[1-100].txt
Bien que les séquences imbriquées ne soient pas prises en charge, plusieurs séquences sont autorisées :
http://url.com/archive[2010-2020]/vol[1-4]/part{a,b,c}.html
protocoles de boucles
curl prend en charge de nombreux protocoles de transfert de données. Retrouvez la liste complète ci-dessous.
Protocole | Description |
---|---|
DICT | Un protocole de réseau de dictionnaires pour interroger les serveurs de dictionnaires sur la signification des mots. |
FICHIER | Un schéma d'URL pour obtenir un fichier du système de fichiers local à l'aide de curl. |
FTP, FTPS | File Transfer Protocol, utilisé pour les transferts de fichiers entre les clients et les serveurs. FTPS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
GOPHER, GOPHER | Un ancien protocole de recherche, de récupération et de distribution de documents Internet, un précurseur de HTTP. GOPHERS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
HTTP, HTTPS | Protocole de transfert hypertexte, utilisé pour le transfert de données Web et Internet. HTTPS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
IMAP, IMAPS | Internet Message Access Protocol, utilisé pour l'accès et la gestion des e-mails. IMAPS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
LDAP, LDAPS | Lightweight Directory Access Protocol, utilisé pour l'accès et la gestion des informations d'annuaire distribuées. LDAPS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
MQTT | Message Queuing Telemetry Transport :protocole d'échange de données entre petits appareils, généralement des systèmes IoT. |
POP3, POP3S | Post Office Protocol version 3 - un protocole pour la récupération des e-mails à partir d'un serveur. POP3S est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
RTMP | Protocole de messagerie en temps réel - un protocole de streaming pour l'audio, la vidéo et d'autres données. |
RTSP | Protocole de diffusion en temps réel, utilisé pour la gestion des serveurs de diffusion multimédia. |
PCS | Secure Copy - un protocole pour copier des fichiers vers et depuis un serveur SSH. |
SFTP | SSH File Transfer Protocol - une version du File Transfer Protocol utilisant la connexion SSH. |
PME, PME | Server Message Block - un protocole pour gérer l'accès partagé aux fichiers et aux périphériques informatiques. SMBS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
SMTP, SMPTS | Simple Mail Transfer Protocol - un protocole de messagerie pour une transmission facile des e-mails. SMTPS est la version du même protocole avec une couche de sécurité SSL/TLS ajoutée. |
TELNET | Protocole de couche application pour une communication bidirectionnelle interactive orientée texte. |
TFTP | Trivial File Transfer Protocol, utilisé pour charger ou télécharger des fichiers vers ou depuis un hôte distant. |
Options de la commande curl
curl
accepte un large éventail d'options, ce qui en fait une commande extrêmement polyvalente. Les options commencent par un ou deux tirets. Si elles ne nécessitent pas de valeurs supplémentaires, les options à tiret unique peuvent être écrites ensemble. Par exemple, la commande qui utilise le -O
, -L
, et -v
les options peuvent être écrites comme :
curl -OLv [url]
La liste de toutes les options disponibles est donnée ci-dessous.
Option | Description |
---|---|
--abstract-unix-socket <path> | Se connecter via un socket Unix abstrait plutôt que via un réseau. Exemple: curl --abstract-unix-socket socketpath https://example.com |
--alt-svc <file name> | Activer l'analyseur alt-svc. Exemple: curl --alt-svc svc.txt https://example.com |
--anyauth | Curl trouve et utilise la méthode d'authentification la plus sécurisée pour l'URL HTTP donnée. Exemple: curl --anyauth --user me:pass https://example.com |
-a, --append | Ajouter au fichier cible. Exemple: curl --upload-file local --append ftp://example.com/ |
--aws-sigv4 <provider1[:provider2[:region[:service]]]> | Utilisez l'authentification par signature AWS V4. Exemple: curl --aws-sigv4 "aws:amz:east-2:es" --user "key:secret" https://example.com |
--basic | Utilisez l'authentification de base HTTP. Exemple: curl -u name:password --basic https://example.com |
--cacert <file> | Utiliser le fichier spécifié pour la vérification du certificat. Exemple: curl --cacert CA-file.txt https://example.com |
--capath <dir> | Utilisez le répertoire spécifié pour rechercher les certificats. Exemple: curl --capath /local/directory https://example.com |
--cert-status | Vérifiez l'état du certificat du serveur. Exemple: curl --cert-status https://example.com |
--cert-type <type> | Spécifiez le type du certificat fourni. Les types reconnus sont PEM (par défaut), DER , ENG et P12 . Exemple: curl --cert-type ENG --cert file https://example.com |
-E, --cert <certificate[:password]> | Utilisez le fichier de certificat fourni lorsque vous travaillez avec un protocole basé sur SSL. Exemple: curl --cert certfile --key keyfile https://example.com |
--ciphers <list of ciphers> | Fournissez les chiffrements à utiliser dans la connexion. Exemple: curl --ciphers ECDHE-ECDSA-AES256-CCM8 https://example.com |
--compressed-ssh | Activer la compression SSH intégrée. Exemple: curl --compressed-ssh sftp://example.com/ |
--compressed | Demande de recevoir une réponse compressée. Exemple: curl --compressed https://example.com |
-K, --config <file> | Fournir un fichier texte avec des arguments curl, au lieu de les écrire sur la ligne de commande. Exemple: curl --config file.txt https://example.com |
--connect-timeout <fractional seconds> | Spécifiez la durée maximale d'une connexion curl. Exemple: curl --connect-timeout 30 https://example.com |
--connect-to <HOST1:PORT1:HOST2:PORT2> | Fournir une règle de connexion pour diriger les demandes vers un nœud de cluster de serveurs spécifique. Exemple: curl --connect-to example.com:443:example.net:8443 https://example.com |
-C, --continue-at <offset> | Reprendre le transfert de fichiers à l'offset spécifié. curl -C 400 https://example.com |
-c, --cookie-jar <filename> | Spécifiez un fichier pour stocker les cookies. curl -c store.txt https://example.com |
-b, --cookie <data|filename> | Lire les cookies d'un fichier. Exemple: curl -b cookiefile https://example.com |
--create-dirs | Créer les répertoires locaux pour le --output option. Exemple: curl --create-dirs --output local/dir/file https://example.com |
--create-file-mode <mode> | Spécifiez le mode à définir lors de la création du fichier. Exemple: curl --create-file-mode 0777 -T localfile sftp://example.com/new |
--crlf | Convertir LF en CRLF. curl --crlf -T file ftp://example.com/ |
--crlfile <file> | Fournir une liste de révocation de certificats pour les certificats homologues. curl --crlfile revoke.txt https://example.com |
--curves <algorithm list> | Fournir des courbes pour établir une session SSL. Exemple: curl --curves X25519 https://example.com |
--data-ascii <data> | Voir -d , --data . Exemple: curl --data-ascii @file https://example.com |
--data-binary <data> | Publier les données comme spécifié, sans traitement supplémentaire. curl --data-binary @filename https://example.com |
--data-raw <data> | Identique à -d , --data , mais le caractère @ n'est pas traité différemment des autres. curl --data-raw "@[email protected]@" https://example.com |
--data-urlencode <data> | Identique à -d , --data , mais effectuez l'encodage d'URL. Exemple: curl --data-urlencode name=val https://example.com |
-d, --data <data> | Envoyer des données à un serveur HTTP dans une requête POST. Exemple: curl -d "name=curl" https://example.com |
--delegation <LEVEL> | Spécifiez quand le serveur est autorisé à déléguer les informations d'identification. Exemple: curl --delegation "always" https://example.com |
--digest | Activer l'authentification HTTP Digest. Exemple: curl -u name:password --digest https://example.com |
--disable-eprt | Désactivez les commandes EPRT et LPRT pour les transferts FTP actifs. Exemple: curl --disable-eprt ftp://example.com/ |
--disable-epsv | Désactivez EPSV pour les transferts FTP passifs. Exemple: curl --disable-epsv ftp://example.com/ |
-q, --disable | Désactiver la lecture du fichier de configuration curlrc. curl -q https://example.com |
--disallow-username-in-url | Quitter si une URL contenant un nom d'utilisateur est fournie. Exemple: curl --disallow-username-in-url https://example.com |
--dns-interface <interface> | Spécifiez une interface pour les requêtes DNS sortantes. Exemple: curl --dns-interface eth0 https://example.com |
--dns-ipv4-addr <address> | Spécifiez une adresse IPv4 d'où proviendront les requêtes DNS. Exemple: curl --dns-ipv4-addr 10.1.2.3 https://example.com |
--dns-ipv6-addr <address> | Spécifiez une adresse IPv6 d'où proviendront les requêtes DNS. Exemple: curl --dns-ipv6-addr 2a04:4e42::561 https://example.com |
--dns-servers <addresses> | Spécifiez votre propre liste de serveurs DNS. Exemple: curl --dns-servers 192.168.0.1,192.168.0.2 https://example.com |
--doh-cert-status | --cert-status pour DNS sur HTTPS. Exemple: curl --doh-cert-status --doh-url https://doh.server https://example.com |
--doh-insecure | -k , --insecure pour DoH. Exemple: curl --doh-insecure --doh-url https://doh.server https://example.com |
--doh-url <URL> | Spécifiez un serveur DoH pour la résolution du nom d'hôte. Exemple: curl --doh-url https://doh.server https://example.com |
-D, --dump-header <filename> | Spécifiez un fichier pour écrire les en-têtes de protocole. Exemple: curl --dump-header store.txt https://example.com |
--egd-file <file> | Fournissez un chemin pour le socket EGD. Exemple: curl --egd-file /path/here https://example.com |
--engine <name> | Spécifiez un moteur de chiffrement OpenSSL. Exemple: curl --engine flavor https://example.com |
--etag-compare <file> | Demander une lecture ETag à partir d'un fichier. Exemple: curl --etag-compare etag.txt https://example.com |
--etag-save <file> | Enregistrer un ETag HTTP dans un fichier. Exemple: curl --etag-save etag.txt https://example.com |
--expect100-timeout <seconds> | Temps d'attente maximum pour une réponse 100-continue. Exemple: curl --expect100-timeout 2.5 -T file https://example.com |
--fail-early | Dites à curl d'échouer et de quitter lorsqu'il détecte la première erreur de transfert. Exemple: curl --fail-early https://example.com https://two.example |
--fail-with-body | Si le serveur renvoie une erreur avec le code 400 ou supérieur, curl enregistre le contenu et renvoie l'erreur 22. Exemple: curl --fail-with-body https://example.com |
-f, --fail | Si le serveur renvoie une erreur, curl échoue silencieusement et renvoie l'erreur 22. Exemple: curl --fail https://example.com |
--false-start | Utiliser un faux départ sur la poignée de main TLS. Exemple: curl --false-start https://example.com |
--form-string <name=string> | Similaire à -F , --form , mais les chaînes de valeur sont traitées littéralement. Exemple: curl --form-string "data" https://example.com |
-F, --form <name=content> | Émuler un formulaire avec un Soumettre touche qui a été enfoncée. Le @ sign force le contenu à être un fichier. Le < sign extrait uniquement la partie contenu du fichier. Exemple: curl --form "name=curl" --form "[email protected]" https://example.com |
--ftp-account <data> | Spécifiez les données de compte pour le serveur FTP. Exemple: curl --ftp-account "account_data" ftp://example.com/ |
--ftp-alternative-to-user <command> | Spécifiez la commande à envoyer si l'authentification par nom d'utilisateur et mot de passe échoue. Exemple: curl --ftp-alternative-to-user "U53r" ftp://example.com |
--ftp-create-dirs | Si le répertoire spécifié n'existe pas, curl tentera de le créer. Exemple: curl --ftp-create-dirs -T file ftp://example.com/dirs/one/file |
--ftp-method <method> | Spécifiez une méthode à utiliser pour obtenir des fichiers via FTP. Les méthodes disponibles sont multicwd , nocwd , et singlecwd . Exemple: curl --ftp-method multicwd ftp://example.com/dir1/dir2/file |
--ftp-pasv | Utiliser le mode de connexion de données passif. Exemple: curl --ftp-pasv ftp://example.com/ |
-P, --ftp-port <address> | Inversez les rôles par défaut pour la connexion FTP. Exemple: curl -P eth0 ftp:/example.com |
--ftp-pret | Envoyer la commande PRET avant PASV/EPSV. Exemple: curl --ftp-pret ftp://example.com/ |
--ftp-skip-pasv-ip | N'utilisez pas l'adresse IP suggérée par le serveur. curl utilisera l'IP de connexion de contrôle. Exemple: curl --ftp-skip-pasv-ip ftp://example.com/ |
--ftp-ssl-ccc-mode <active/passive> | Définissez le mode Effacer le canal de commande (CCC). Exemple: curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/ |
--ftp-ssl-ccc | Une fois l'authentification terminée, la couche SSL/TLS est éliminée, permettant une communication non chiffrée. Exemple: curl --ftp-ssl-ccc ftps://example.com/ |
--ftp-ssl-control | Utilisez SSL/TLS pour vous connecter, arrêtez le cryptage lorsque le transfert de données commence. Exemple: curl --ftp-ssl-control ftp://example.com |
-G, --get | Utilisez la requête HTTP GET au lieu de POST. Exemple: curl --get -d "tool=curl" -d "age=old" https://example.com |
-g, --globoff | Désactivez l'analyseur de globalisation d'URL. Exemple: curl -g "https://example.com/{[]}}}}" |
--happy-eyeballs-timeout-ms <milliseconds> | Utilisez l'algorithme Happy Eyeballs pour vous connecter à des hôtes à double pile. Exemple: curl --happy-eyeballs-timeout-ms 500 https://example.com |
--haproxy-protocol | Utiliser l'en-tête v1 du protocole HAProxy PROXY. Exemple: curl --haproxy-protocol https://example.com |
-I, --head | Obtenir uniquement les en-têtes. Exemple: curl -I https://example.com |
-H, --header <header/@file> | Spécifiez un en-tête supplémentaire à envoyer dans la requête HTTP. Exemple: curl -H "X-First-Name: Joe" https://example.com |
-h, --help <category> | Voir l'aide pour une catégorie spécifique. all répertorie toutes les options disponibles. Exemple: curl --help all |
--hostpubmd5 <md5> | Passez une chaîne hexadécimale de 32 chiffres. Exemple: curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/ |
--hsts <file name> | Activer HSTS. Exemple: curl --hsts cache.txt https://example.com |
--http0.9 | Acceptez une réponse HTTP version 0.9. Exemple: curl --http0.9 https://example.com |
-0, --http1.0 | Utilisez HTTP version 1.0. Exemple: curl --http1.0 https://example.com |
--http1.1 | Utilisez HTTP version 1.1. Exemple: curl --http1.1 https://example.com |
--http2-prior-knowledge | Utilisez HTTP version 2.0. Utilisez cette option si vous savez que le serveur prend en charge cette version HTTP. Exemple: curl --http2-prior-knowledge https://example.com |
--http2 | Essayez d'utiliser HTTP version 2.0. Exemple: curl --http2 https://example.com |
--http3 | Utilisez HTTP version 3.0. Il s'agit d'une option expérimentale. Exemple: curl --http3 https://example.com |
--ignore-content-length | Ignorer l'en-tête Content-Length. Exemple: curl --ignore-content-length https://example.com |
-i, --include | Spécifiez que la sortie doit inclure les en-têtes de réponse HTTP. Exemple: curl -i https://example.com |
-k, --insecure | Autoriser curl à fonctionner avec des connexions non sécurisées. Exemple: curl --insecure https://example.com |
--interface <name> | Spécifier l'interface pour effectuer une action. Exemple: curl --interface eth0 https://example.com |
-4, --ipv4 | Résolvez uniquement les noms en adresses IPv4. Exemple: curl --ipv4 https://example.com |
-6, --ipv6 | Résolvez uniquement les noms en adresses IPv6. Exemple: curl --ipv6 https://example.com |
-j, --junk-session-cookies | Supprimer les cookies de session. Exemple: curl --junk-session-cookies -b cookies.txt https://example.com |
--keepalive-time <seconds> | Spécifiez le temps d'inactivité de la connexion avant qu'elle n'envoie des sondes keepalive. Exemple: curl --keepalive-time 30 https://example.com |
--key-type <type> | Spécifiez le type de la clé privée. Les types disponibles sont PEM (par défaut), DER , et ENG . Exemple: curl --key-type ENG --key here https://example.com |
--key <key> | Spécifiez le fichier contenant la clé privée. Exemple: curl --cert certificate --key here https://example.com |
--krb <level> | Activer et utiliser l'authentification Kerberos. Les niveaux disponibles sont clear , safe , confidential , et private (défaut). Exemple: curl --krb clear ftp://example.com/ |
--libcurl <file> | Obtenir le code source C pour l'opération de ligne de commande spécifiée. Exemple: curl --libcurl client.c https://example.com |
--limit-rate <speed> | Spécifiez le taux de transfert maximal de chargement et de téléchargement. Exemple: curl --limit-rate 100K https://example.com |
-l, --list-only | Forcer une vue de nom uniquement. Exemple: curl --list-only ftp://example.com/dir/ |
--local-port <num/range> | Spécifiez les numéros de port à utiliser pour la connexion. Exemple: curl --local-port 1000-3000 https://example.com |
--location-trusted | Similaire à -L , --location , mais vous permet d'envoyer un nom et un mot de passe à toutes les redirections. Exemple: curl --location-trusted -u user:pass https://example.com |
-L, --location | Autoriser curl à suivre toutes les redirections. Exemple: curl -L https://example.com |
--login-options <options> | Spécifiez les options de connexion pour l'authentification du serveur de messagerie. Exemple: curl --login-options 'AUTH=*' imap://example.com |
--mail-auth <address> | Fournir une adresse unique comme identité. Exemple: curl --mail-auth [email protected] -T mail smtp://example.com/ |
--mail-from <address> | Fournir une seule adresse "de". Exemple: curl --mail-from [email protected] -T mail smtp://example.com/ |
--mail-rcpt-allowfails | Permet à curl de poursuivre la conversation SMTP si l'un des destinataires échoue. Exemple: curl --mail-rcpt-allowfails --mail-rcpt [email protected] smtp://example.com |
--mail-rcpt <address> | Fournir une seule adresse "à". Exemple: curl --mail-rcpt [email protected] smtp://example.com |
-M, --manual | Lisez le manuel curl. Exemple: curl --manual |
--max-filesize <bytes> | Indiquez la taille maximale du fichier à télécharger. Exemple: curl --max-filesize 500K https://example.com |
--max-redirs <num> | Spécifiez le nombre maximum de redirections lorsque --location c'est actif. Exemple: curl --max-redirs 3 --location https://example.com |
-m, --max-time <fractional seconds> | Spécifiez la durée maximale d'une opération. Exemple: curl --max-time 5.52 https://example.com |
--metalink | Spécifiez une ressource metalink. Cette option est désactivée dans les dernières versions de curl. Exemple: curl --metalink file https://example.com |
--negotiate | Activer l'authentification SPNEGO. Exemple: curl --negotiate -u : https://example.com |
--netrc-file <filename> | Comme --n , --netrc , mais vous permet de spécifier le fichier à utiliser. Exemple: curl --netrc-file netrc https://example.com |
--netrc-optional | Comme --n , --netrc , mais l'utilisation de netrc est facultative. Exemple: curl --netrc-optional https://example.com |
-n, --netrc | Recherchez dans le fichier netrc les informations de connexion. Exemple: curl --netrc https://example.com |
-:, --next | Utilisez l'option pour séparer les demandes d'URL. Exemple: curl -I https://example.com --next https://example.net/ |
--no-alpn | Désactiver l'extension ALPN TLS. Exemple: curl --no-alpn https://example.com |
-N, --no-buffer | Désactiver le tampon de flux de sortie. Exemple: curl --no-buffer https://example.com |
--no-keepalive | Désactiver les messages keepalive. Exemple: curl --no-keepalive https://example.com |
--no-npn | Désactiver l'extension TLS NPN. Exemple: curl --no-npn https://example.com |
--no-progress-meter | Désactiver la barre de progression mais afficher tout autre message. Exemple: curl --no-progress-meter -o store https://example.com |
--no-sessionid | Désactiver la mise en cache de l'ID de session SSL. Exemple: curl --no-sessionid https://example.com |
--noproxy <no-proxy-list> | Listez les hôtes qui ne doivent pas utiliser de proxy. Exemple: curl --noproxy "www.example" https://example.com |
--ntlm-wb | Comme --ntlm , mais transmet également l'authentification à ntlmauth. Exemple: curl --ntlm-wb -u user:password https://example.com |
--ntlm | Activer l'authentification NTLM. Exemple: curl --ntlm -u user:password https://example.com |
--oauth2-bearer <token> | Fournir un jeton porteur pour OAUTH 2.0. Exemple: curl --oauth2-bearer "mF_9.B5f-4.1JqM" https://example.com |
--output-dir <dir> | Spécifiez le répertoire du fichier de sortie. Exemple: curl --output-dir "tmp" -O https://example.com |
-o, --output <file> | Stocker la sortie dans un fichier. La sortie n'est pas affichée dans stdout. Exemple: curl -o file https://example.com -o file2 https://example.net |
--parallel-immediate | Préférez les connexions parallèles à l'attente de nouvelles connexions ou de flux multiplexés. Exemple: curl --parallel-immediate -Z https://example.com -o file1 https://example.com -o file2 |
--parallel-max <num> | Spécifiez le nombre maximum de connexions parallèles. Exemple: curl --parallel-max 100 -Z https://example.com ftp://example.com/ |
-Z, --parallel | Effectuer des transferts en parallèle. Exemple: curl --parallel https://example.com -o file1 https://example.com -o file2 |
--pass <phrase> | Spécifiez une phrase secrète de clé privée. Exemple: curl --pass secret --key file https://example.com |
--path-as-is | Empêcher curl de fusionner /./ et /../ séquences. Exemple: curl --path-as-is https://example.com/../../etc/passwd |
--pinnedpubkey <hashes> | Spécifiez une clé publique que curl utilisera. Exemple: curl --pinnedpubkey keyfile https://example.com |
--post301 | Empêche curl de convertir les requêtes POST en requêtes GET après une redirection 301. Exemple: curl --post301 --location -d "data" https://example.com |
--post302 | Empêche curl de convertir les requêtes POST en requêtes GET après une redirection 302. curl --post302 --location -d "data" https://example.com |
--post303 | Empêchez curl de convertir les requêtes POST en requêtes GET après une redirection 303. Exemple: curl --post303 --location -d "data" https://example.com |
--preproxy [protocol://]host[:port] | Utilisez le proxy SOCKS comme pré-proxy. Exemple: curl --preproxy socks5://proxy.example -x http://http.example https://example.com |
-#, --progress-bar | Utilisez la barre de progression simple. Exemple: curl -# -O https://example.com |
--proto-default <protocol> | Spécifiez quel protocole curl doit utiliser pour les URL sans nom de schéma. Exemple: curl --proto-default https ftp.example.com |
--proto-redir <protocols> | Spécifiez les protocoles que curl doit utiliser lors de la redirection. Exemple: curl --proto-redir =http,https https://example.com |
--proto <protocols> | Spécifiez les protocoles que curl doit utiliser pour les transferts. Exemple: curl --proto =http,https,sftp https://example.com |
--proxy-anyauth | Curl doit choisir une méthode d'authentification appropriée. Exemple: curl --proxy-anyauth --proxy-user user:passwd -x proxy https://example.com |
--proxy-basic | Utilisez HTTP Basic pour communiquer avec un proxy. Exemple: curl --proxy-basic --proxy-user user:passwd -x proxy https://example.com |
--proxy-cacert <file> | --cacert for HTTPS proxies. Exemple: curl --proxy-cacert CA-file.txt -x https://proxy https://example.com |
--proxy-capath <dir> | --capath for HTTPS proxies. Exemple: curl --proxy-capath /local/directory -x https://proxy https://example.com |
--proxy-cert-type <type> | --cert-type for HTTPS proxies. Exemple: curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com |
--proxy-cert <cert[:passwd]> | -E , --cert for HTTPS proxies. Exemple: curl --proxy-cert file -x https://proxy https://example.com |
--proxy-ciphers <list> | --ciphers for HTTPS proxies. curl --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy https://example.com |
--proxy-crlfile <file> | --crlfile for HTTPS proxies. Exemple: curl --proxy-crlfile rejects.txt -x https://proxy https://example.com |
--proxy-digest | Use HTTP Digest authentication with a proxy. Exemple: curl --proxy-digest --proxy-user user:passwd -x proxy https://example.com |
--proxy-header <header/@file> | -H , --header for proxy communication. Exemple: curl --proxy-header "Host:" -x http://proxy https://example.com |
--proxy-insecure | -k , --insecure for HTTPS proxies. Exemple: curl --proxy-insecure -x https://proxy https://example.com |
--proxy-key-type <type> | --key-type for HTTPS proxies. Exemple: curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com |
--proxy-key <key> | --key for HTTPS proxies. Exemple: curl --proxy-key here -x https://proxy https://example.com |
--proxy-negotiate | --negotiate for proxy communication. Exemple: curl --proxy-negotiate --proxy-user user:passwd -x proxy https://example.com |
--proxy-ntlm | Use HTTP NTLM authentication with a proxy. Exemple: curl --proxy-ntlm --proxy-user user:passwd -x http://proxy https://example.com |
--proxy-pass <phrase> | --pass for HTTPS proxies. Exemple: curl --proxy-pass secret --proxy-key here -x https://proxy https://example.com |
--proxy-pinnedpubkey <hashes> | Specify the public key for proxy verification. Exemple: curl --proxy-pinnedpubkey keyfile https://example.com |
--proxy-service-name <name> | Specify the service name for proxy communciation. Exemple: curl --proxy-service-name "shrubbery" -x proxy https://example.com |
--proxy-ssl-allow-beast | --ssl-allow-beast for HTTPS proxies. Exemple: curl --proxy-ssl-allow-beast -x https://proxy https://example.com |
--proxy-ssl-auto-client-cert | --ssl-auto-client-cert for HTTPS proxies. Exemple: curl --proxy-ssl-auto-client-cert -x https://proxy https://example.com |
--proxy-tls13-ciphers <ciphersuite list> | Specifies the list of cipher suites to use in negotiating TLS 1.3 for proxies. Exemple: curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com |
--proxy-tlsauthtype <type> | --tlsauthtype for HTTPS proxies. Exemple: curl --proxy-tlsauthtype SRP -x https://proxy https://example.com |
--proxy-tlspassword <string> | --tlspassword for HTTPS proxies. Exemple: curl --proxy-tlspassword passwd -x https://proxy https://example.com |
--proxy-tlsuser <name> | --tlsuser for HTTPS proxies. Exemple: curl --proxy-tlsuser smith -x https://proxy https://example.com |
--proxy-tlsv1 | -1 , --tlsv1 for HTTPS proxies. Exemple: curl --proxy-tlsv1 -x https://proxy https://example.com |
-U, --proxy-user <user:password> | Specify the username and password for authenticating with a proxy. Exemple: curl --proxy-user name:pwd -x proxy https://example.com |
-x, --proxy [protocol://]host[:port] | Specify a proxy to use. Exemple: curl --proxy http://proxy.example https://example.com |
--proxy1.0 <host[:port]> | Specify a HTTP 1.0 proxy to use. Exemple: curl --proxy1.0 -x http://proxy https://example.com |
-p, --proxytunnel | Create a proxy tunnel. Exemple: curl --proxytunnel -x http://proxy https://example.com |
--pubkey <key> | Provide a file containing a public key. Exemple: curl --pubkey file.pub sftp://example.com/ |
-Q, --quote <command> | Send a command to a FTP or SFTP server, to be executed before the transfer. Exemple: curl --quote "rm file" ftp://example.com/foo |
--random-file <file> | Specify a file containing random data. This file will be used for seeding the random engine. Exemple: curl --random-file rubbish https://example.com |
-r, --range <range> | Obtain a range of bytes. Exemple: curl --range 40-80 https://example.com |
--raw | Disable HTTP content decoding and obtain raw data. Exemple: curl --raw https://example.com |
-e, --referer <URL> | Send Referrer Page information. Exemple: curl --referer "https://test.example" https://example.com |
-J, --remote-header-name | Use header name specified by the server instead of obtaining it from the URL. Exemple: curl -OJ https://example.com/file |
--remote-name-all | Apply the -O , --remote-name option to all the URLs. Exemple: curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2 |
-O, --remote-name | Specify that the local file should have the name of the remote file that was downloaded. Exemple: curl -O https://example.com/filename |
-R, --remote-time | Specify that the local file should have the timestamp of the remote file that was downloaded. Exemple: curl --remote-time -o foo https://example.com |
--request-target <path> | Specify an alternative target path. Exemple: curl --request-target "*" -X OPTIONS https://example.com |
-X, --request <command> | Specify a request method for communication with the server. Exemple: curl -X "DELETE" https://example.com |
--resolve <[+]host:port:addr[,addr]...> | Specify a custom address for a host/port. Exemple: curl --resolve example.com:443:127.0.0.1 https://example.com |
--retry-all-errors | Force retrying on all errors. Exemple: curl --retry-all-errors https://example.com |
--retry-connrefused | Add ECONNREFUSED to the list of errors that are eligible for --retry . Exemple: curl --retry-connrefused --retry https://example.com |
--retry-delay <seconds> | Specify the amount of time between retries. Exemple: curl --retry-delay 5 --retry https://example.com |
--retry-max-time <seconds> | Specify the maximum amount of time for --retry attempts. Exemple: curl --retry-max-time 30 --retry 10 https://example.com |
--retry <num> | Specify the number of retries after curl encounters and error. Exemple: curl --retry 7 https://example.com |
--sasl-authzid <identity> | Specify an additional authentication identity for SASL PLAIN authentication. Exemple: curl --sasl-authzid zid imap://example.com/ |
--sasl-ir | Enable initial response during SASL authentication. Exemple: curl --sasl-ir imap://example.com/ |
--service-name <name> | Specify the SPNEGO service name. Exemple: curl --service-name sockd/server https://example.com |
-S, --show-error | Show an error message event with the -s , --silent option enabled. Exemple: curl --show-error --silent https://example.com |
-s, --silent | Turn on the silent mode. This option mutes curl. Exemple: curl -s https://example.com |
--socks4 <host[:port]> | Specify a SOCKS4 proxy. Exemple: curl --socks4 hostname:4096 https://example.com |
--socks4a <host[:port]> | Specify a SOCKS4a proxy. Exemple: curl --socks4a hostname:4096 https://example.com |
--socks5-basic | Use the basic authentication method (username/password) with a SOCKS5 proxy. Exemple: curl --socks5-basic --socks5 hostname:4096 https://example.com |
--socks5-gssapi-nec | Allow protection mode negotiation to be unprotected. Exemple: curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com |
--socks5-gssapi-service <name> | Change the name of a socks server. Exemple: curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com |
--socks5-gssapi | Use GSS-API authentication with a SOCKS5 proxy. Exemple: curl --socks5-gssapi --socks5 hostname:4096 https://example.com |
--socks5-hostname <host[:port]> | Specify the SOCKS5 proxy to use. Exemple: curl --socks5-hostname proxy.example:7000 https://example.com |
--socks5 <host[:port]> | Specify the SOCKS5 proxy to use. The hostname is resolved locally. Exemple: curl --socks5 proxy.example:7000 https://example.com |
-Y, --speed-limit <speed> | Set the lower limit for the download speed. Exemple: curl --speed-limit 300 --speed-time 10 https://example.com |
-y, --speed-time <seconds> | Set the time period for the speed limit measurement. Exemple: curl --speed-limit 300 --speed-time 10 https://example.com |
--ssl-allow-beast | Tell curl to ignore the BEAST security flaw in the SSL3 and TLS1.0 protocols. Exemple: curl --ssl-allow-beast https://example.com |
--ssl-auto-client-cert | Obtain and use a client certificate automatically. Exemple: curl --ssl-auto-client-cert https://example.com |
--ssl-no-revoke | Do not check for certificate revocation. Exemple: curl --ssl-no-revoke https://example.com |
--ssl-reqd | Require SSL/TLS. Exemple: curl --ssl-reqd ftp://example.com |
--ssl-revoke-best-effort | Ignore certificate revocation checks if they failed because of missing distribution points. Exemple: curl --ssl-revoke-best-effort https://example.com |
--ssl | Attempt to use SSL. Exemple: curl --ssl pop3://example.com/ |
-2, --sslv2 | Use SSLv2. Newer curl versions ignore this request due to security concerns with SSLv2. Exemple: curl --sslv2 https://example.com |
-3, --sslv3 | Use SSLv3. Newer curl versions ignore this request due to security concerns with SSLv3. Exemple: curl --sslv3 https://example.com |
--stderr <file> | Output stderr to a file. The - symbol tells curl to output stderr to stdout. Exemple: curl --stderr output.txt https://example.com |
--styled-output | Enable bold fonts for HTTP header terminal output. curl --styled-output -I https://example.com |
--suppress-connect-headers | Prevent curl from outputting CONNECT headers. Exemple: curl --suppress-connect-headers --include -x proxy https://example.com |
--tcp-fastopen | Enable TCP Fast Open. Exemple: curl --tcp-fastopen https://example.com |
--tcp-nodelay | Enable TCP_NODELAY. Exemple: curl --tcp-nodelay https://example.com |
-t, --telnet-option <opt=val> | Pass the TTYPE , XDISPLOC , and NEW_ENV options to the telnet protocol. Exemple: curl -t TTYPE=vt100 telnet://example.com/ |
--tftp-blksize <value> | Set the value of TFTP BLKSIZE. Must be a value larger than 512. Exemple: curl --tftp-blksize 1024 tftp://example.com/file |
--tftp-no-options | Prevents curl from sending requests for TFTP options. Exemple: curl --tftp-no-options tftp://192.168.0.1/ |
-z, --time-cond <time> | Request a document that was modified after a certain date and time. For documents modified before the time, prefix the date expression with a dash. Exemple: curl -z "Wed 01 Sep 2021 12:18:00" https://example.com |
--tls-max <VERSION> | Specify the newest TLS version that is supported. Exemple: curl --tls-max 1.2 https://example.com |
--tls13-ciphers <ciphersuite list> | Specifies the list of cipher suites to use in negotiating TLS 1.3 Exemple: curl --tls13-ciphers TLS_AES_128_GCM_SHA256 https://example.com |
--tlsauthtype <type> | Specify the TLS authentication type. Exemple: curl --tlsauthtype SRP https://example.com |
--tlspassword <string> | Specify the TLS password. Exemple: curl --tlspassword pwd --tlsuser user https://example.com |
--tlsuser <name> | Specify the TLS username. Exemple: curl --tlspassword pwd --tlsuser user https://example.com |
--tlsv1.0 | Tell curl to use TLS1.0 or newer. Exemple: curl --tlsv1.0 https://example.com |
--tlsv1.1 | Tell curl to use TLS1.1 or newer. Exemple: curl --tlsv1.1 https://example.com |
--tlsv1.2 | Tell curl to use TLS1.2 or newer. Exemple: curl --tlsv1.2 https://example.com |
--tlsv1.3 | Tell curl to use TLS1.3 or newer. Exemple: curl --tlsv1.3 https://example.com |
-1, --tlsv1 | Specify that curl should use at least 1.x version of TLS. Exemple: curl --tlsv1 https://example.com |
--tr-encoding | Ask for a compressed Transfer-Encoding response. Exemple: curl --tr-encoding https://example.com |
--trace-ascii <file> | Enable a full trace dump to a file. Eliminates the hex part and shows only ASCII. Exemple: curl --trace-ascii log.txt https://example.com |
--trace-time | Require a time stamp on each trace or verbose line. Exemple: curl --trace-time --trace-ascii output https://example.com |
--trace <file> | Enable a full trace dump to a file. Exemple: curl --trace log.txt https://example.com |
--unix-socket <path> | Specify a Unix socket path. Exemple: curl --unix-socket socket-path https://example.com |
-T, --upload-file <file> | Upload a file to the URL. Exemple: curl -T "img[1-1000].png" ftp://ftp.example.com/ |
--url <url> | Provide a URL to be fetched. Exemple: curl --url https://example.com |
-B, --use-ascii | Enable ASCII transfer. Exemple: curl -B ftp://example.com/README |
-A, --user-agent <name> | Specify the user agent name. Exemple: curl -A "Agent 007" https://example.com |
-u, --user <user:password> | Provide the username and password for authentication. Exemple: curl -u user:secret https://example.com |
-v, --verbose | Tell curl to be verbose. Exemple: curl --verbose https://example.com |
-V, --version | See the installed versions of curl and libcurl. Exemple: curl --version |
-w, --write-out <format> | Tell curl to show information about the completed transfer on stdout. Exemple: curl -w '%{http_code}\n' https://example.com |
--xattr | Store file metadata in file attributes. Exemple: curl --xattr -o storage https://example.com |
For comprehensive descriptions of the options, execute the curl --manual
command in the terminal.