(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
curl_setopt — Définit une option de transmission cURL
Définit une option pour le gestionnaire de session cURL fournit.
handle
Un gestionnaire cURL retourné par curl_init().
option
       L'option CURLOPT_XXX à définir.
      
value
       La valeur à définir pour option.
      
       value doit être un booléen pour les 
       valeurs suivantes du paramètre option :
       
| Option | Définir valueà | Notes | 
|---|---|---|
| CURLOPT_AUTOREFERER | truepour définir automatiquement le champReferer:dans les requêtes où une redirectionLocation:suit. | |
| CURLOPT_COOKIESESSION | truepour marquer ceci comme un nouveau cookie "session". Cela
            forcera libcurl à ignorer tous les cookies qui sont prêts à être
            chargés qui sont des "cookies de session" provenant des sessions
            antérieures. Par défaut, libcurl enregistre et charge toujours tous
            les cookies, indépendamment s'ils sont des cookies de session ou
            pas. Les cookies de session sont des cookies sans date d'expiration
            et existeront que pour cette "session" seulement. | |
| CURLOPT_CERTINFO | truepour sortir les informations de certification SSL versSTDERRpour les transferts sécurisés. | Ajouté en cURL version 7.19.1.
            Nécessite CURLOPT_VERBOSEd'être activé. | 
| CURLOPT_CONNECT_ONLY | trueindique à la bibliothèque d'effectuer toutes les
            configurations nécessaires à l'authentification et la connexion
            au proxy, mais ne transfère aucune donnée.
            Cette option est implémentée pour HTTP, SMTP et POP3. | Ajouté en cURL 7.15.2. | 
| CURLOPT_CRLF | truepour convertir les nouvelles lignes Unix en nouvelles
            lignes CRLF durant les transferts. | |
| CURLOPT_DISALLOW_USERNAME_IN_URL | truepour ne pas permettre les URLs qui incluent un nom
            d'utilisateur. Les noms d'utilisateurs sont autorisé par défaut (0). | Ajouté en cURL 7.61.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_DNS_SHUFFLE_ADDRESSES | truepour mélanger l'ordre de toutes les addresses retournées
            pour qu'elles soit utilisées dans un ordre aléatoire, quand un nom
            est résolu et que plus d'une addresse IP est retournée.
            Ceci peut causer d'utiliser IPv4 avant IPv6 ou vice versa. | Ajouté en cURL 7.60.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_HAPROXYPROTOCOL | truepour envoyer un en-tête HAProxy PROXY protocol v1 au
            début de la connexion. L'action par défaut est de ne pas envoyer
            cet en-tête. | Ajouté en cURL 7.60.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_SSH_COMPRESSION | truepour activer la compression SSH intégré. Ceci est une demande,
            pas un ordre ; le serveur peut ou ne peut pas le faire. | Ajouté en cURL 7.56.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_DNS_USE_GLOBAL_CACHE | truepour utiliser un cache DNS global. Cette option n'est pas 
            compatible avec les threads. Elle est conditionellement activée par
            défaut si PHP est compilé pour une utilisation non threadé
            (CLI, FFCGI, Apache2-Prefork, etc.). | |
| CURLOPT_FAILONERROR | truepour échouer verbalement si le code HTTP retourné est 
            supérieur ou égal à 400. Le comportement par défaut est de retourner
            la page normalement, en ignorant le code. | |
| CURLOPT_SSL_FALSESTART | truepour activer le faux départ TLS. | Ajouté en cURL 7.42.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_FILETIME | truepour tenter de récupérer la date de modification
            du document distant. Cette valeur peut être récupérée en utilisant
            l'optionCURLINFO_FILETIMEavec
            curl_getinfo(). | |
| CURLOPT_FOLLOWLOCATION | truepour suivre tous les en-têtes"Location: "que le serveur envoie dans les en-têtes HTTP.
            Voir aussiCURLOPT_MAXREDIRS. | |
| CURLOPT_FORBID_REUSE | truepour forcer à fermer explicitement la connexion lorsque
            le processus est terminé. Elle ne sera donc pas mise en cache pour 
            réutilisation. | |
| CURLOPT_FRESH_CONNECT | truepour forcer l'utilisation d'une nouvelle connexion
            au lieu d'une en cache. | |
| CURLOPT_FTP_USE_EPRT | truepour utiliser EPRT (et LPRT) lors des téléchargements FTP
            actifs. Utilisezfalsepour désactiver EPRT et LPRT
            et ainsi n'utiliser que PORT. | |
| CURLOPT_FTP_USE_EPSV | truepour tenter tout d'abord une commande EPSV pour les
            transferts FTP avant de revenir à une commande PASV.
            Définir àfalsepour désactiver EPSV. | |
| CURLOPT_FTP_CREATE_MISSING_DIRS | truepour créer les dossiers intermédiaires lorsqu'une opération
            FTP est demandée sur un chemin qui n'existe pas. | |
| CURLOPT_FTPAPPEND | truepour que PHP ajoute les informations au fichier distant
            plutôt que de l'écraser. | |
| CURLOPT_TCP_NODELAY | truepour désactiver l'algorithme Nagle de TCP, qui tente de
            réduire le nombre de petits paquets sur le réseau. | Disponible pour les versions compilées avec libcurl 7.11.2 ou supérieur. | 
| CURLOPT_FTPASCII | Un alias de CURLOPT_TRANSFERTEXT.
            Utilisez celui-là à la place. | |
| CURLOPT_FTPLISTONLY | truepour ne lister que les noms dans un dossier FTP. | |
| CURLOPT_HEADER | truepour inclure l'en-tête dans la valeur de retour. | |
| CURLINFO_HEADER_OUT | truepour suivre la chaîne de caractères du gestionnaire de requête. | Le préfixe CURLINFO_est intentionnel. | 
| CURLOPT_HTTP09_ALLOWED  | Si on doit ou non autoriser les réponses HTTP/0.9.
            Par défaut, vaut falsedepuis libcurl 7.66.0;
            Auparavant, vallaittruepar défaut. | Available since PHP 7.3.15 and 7.4.3, respectively, if built against libcurl >= 7.64.0 | 
| CURLOPT_HTTPGET | truepour réinitialiser la méthode de la requête HTTP à GET.
            Sachant que GET est la valeur par défaut, cela est uniquement
            nécessaire si la méthode de la requête a été modifiée. | |
| CURLOPT_HTTPPROXYTUNNEL | truepour passer par un proxy HTTP donné. | |
| CURLOPT_HTTP_CONTENT_DECODING | falsepour récupérer le corps de la réponse HTTP brute. | Disponible si compilé contre libcurl >= 7.16.2. | 
| CURLOPT_KEEP_SENDING_ON_ERROR | truepour continuer d'envoyer le corps de la requête si le code
            HTTP est supérieur ou égal à 300. La valeur par défaut est d'arrêter
            l'envoie et de fermer le flux ou connexion. Adapté pour une
            authentication NTLM manuelle. La plupart des applications n'ont pas
            besoin de cette option. | Disponible à partir de PHP 7.3.0 si compilé contre libcurl >= 7.51.0. | 
| CURLOPT_MUTE | truepour que PHP soit totalement silencieux concernant
            toutes les fonctions cURL. | Supprimé en cURL 7.15.5 (Utiliser CURLOPT_RETURNTRANSFER à la place) | 
| CURLOPT_NETRC | truepour analyser le fichier ~./netrc
            pour trouver un nom d'utilisateur et mot de passe pour le site
            distant où une connexion est en train d'être établie. | |
| CURLOPT_NOBODY | truepour exclure le corps de la sortie.
            La méthode de la requête est alors définie à HEAD.
            Modifier ceci àfalsene modifie pas la méthode en GET. | |
| CURLOPT_NOPROGRESS | 
             
 | |
| CURLOPT_NOSIGNAL | truepour ignorer toutes les fonctions cURL qui causent l'envoi
            d'un signal au processus PHP. Activée par défaut dans les SAPIs
            multithreadés afin que les options d'expiration puissent toujours
            être utilisées. | Ajouté dans cURL 7.10. | 
| CURLOPT_PATH_AS_IS | truepour ne pas gérer les séquences point point. | Ajouté dans cURL 7.42.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_PIPEWAIT | truepour attendre pour le pipelining/multiplexing. | Ajouté dans cURL 7.43.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_POST | truepour que PHP fasse un HTTP POST régulier. Ce POST est le
            type normalapplication/x-www-form-urlencoded,
            utilisé couramment par les formulaires HTML. | |
| CURLOPT_PUT | truepour HTTP PUT un fichier. Le fichier à téléverser avec PUT
            doit être définit avecCURLOPT_INFILEetCURLOPT_INFILESIZE. | |
| CURLOPT_RETURNTRANSFER | truepour retourner le transfert en tant que chaîne de caractères de la
            valeur retournée par curl_exec() au lieu
            de l'afficher directement. | |
| CURLOPT_SASL_IR | truepour permettre d'envoyer la réponse initiale dans le premier paquet. | Ajouté dans cURL 7.31.10. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_SSL_ENABLE_ALPN | falsepour désactiver ALPN dans la poignée de main SSL (si le
            back-end SSL libcurl est compilé pour utiliser le supporte),
            qui peut être utilisée pour négocier http2. | Ajouté dans cURL 7.36.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_SSL_ENABLE_NPN | falsepour désactiver NPN dans la poignée de main SSL (si le
            back-end SSL libcurl est compilé pour utiliser le supporte),
            qui peut être utilisé pour négocier http2. | Ajouté dans cURL 7.36.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_SSL_VERIFYPEER | falsepour arrêter cURL de vérifier le certificat du pair.
            Les certificats alternatifs à vérifier contre peuvent être
            spécifiés avec l'optionCURLOPT_CAINFOou
            un répertoire de certificat peut être spécifié avec l'optionCURLOPT_CAPATH. | truepar défaut à partir de cURL 7.10.
            Paquet installé par défaut à partir de cURL 7.10. | 
| CURLOPT_SSL_VERIFYSTATUS | truepour vérifier l'état du certificat. | Ajouté dans cURL 7.41.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_PROXY_SSL_VERIFYPEER | falsepour arrêter cURL de vérifié le certificat du homologue.
            Des certificats alternatifs à vérifier contre peuvent être définie
            avec l'optionCURLOPT_CAINFOou un dossier de
            certificat peut être définie avec l'optionCURLOPT_CAPATH. Quand définie àfalse, la
            vérification du certificat homologue réussit malgré tout. | truepar défaut. Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_SAFE_UPLOAD | Toujours true, ce qui désactive la prise en charge du préfixe@pour le téléversement de fichiers dansCURLOPT_POSTFIELDS,
            ce qui signifie que les valeurs commençant par@peuvent être
            transmises en tant que champs en toute sécurité.
            CURLFile peut être utilisé pour les téléversements à la place. | |
| CURLOPT_SUPPRESS_CONNECT_HEADERS | truepour réprimer les en-têtes de réponse proxy CONNECT des
            fonctions de rappels utilisateursCURLOPT_HEADERFUNCTIONetCURLOPT_WRITEFUNCTION,
            quandCURLOPT_HTTPPROXYTUNNELest utilisé et
            une requête CONNECT est faite. | Ajouté dans cURL 7.54.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_TCP_FASTOPEN | truepour activer TCP Fast Open. | Ajouté dans cURL 7.49.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_TFTP_NO_OPTIONS | truepour ne pas envoyer les requêtes d'options TFTP. | Ajouté dans cURL 7.48.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_TRANSFERTEXT | truepour utiliser le mode ASCII pour les transferts FTP. 
            Pour LDAP, il récupère les données en texte plein au lieu d'HTML. 
            Sur les systèmes Windows,STDOUTne sera pas
            définie en mode binaire. | |
| CURLOPT_UNRESTRICTED_AUTH | truepour continuer d'envoyer le nom d'utilisateur et le
            mot de passe lorsque l'on suit les chemins (en utilisantCURLOPT_FOLLOWLOCATION),
            même si le nom d'hôte change. | |
| CURLOPT_UPLOAD | truepour préparer pour un téléversement. | |
| CURLOPT_VERBOSE | truepour afficher les informations de façon verbeuse.
            Écrit la sortie surSTDERR, ou dans le fichier
            spécifié en utilisantCURLOPT_STDERR. | 
       value devrait être un entier pour les valeurs
       suivantes du paramètres option :
       
| Option | Définir valueà | Notes | 
|---|---|---|
| CURLOPT_BUFFERSIZE | La taille du tampon à utiliser pour chaque lecture. Cependant, il n'y a aucune garantie que cette requête soit accomplie. | Ajouté en cURL 7.10. | 
| CURLOPT_CONNECTTIMEOUT | Le nombre de secondes à attendre durant la tentative de connexion. 
            Utiliser 0pour attendre indéfiniment. | |
| CURLOPT_CONNECTTIMEOUT_MS | Le nombre de millisecondes à attendre durant la tentative de
            connexion. Utiliser 0pour attendre indéfiniment.
            
            Si libcurl est compilé pour utiliser le système standard de résolution
            de noms, cette partie de la connexion utilisera toujours la seconde
            résolution pour le délai d'attente maximal avec un délai
            d'attente maximal minimum autorisé d'une seconde. | Ajouté en cURL 7.16.2. | 
| CURLOPT_DNS_CACHE_TIMEOUT | Le temps en seconde pour conserver les entrées DNS en mémoire. Cette option est définie à 120 secondes (2 minutes) par défaut. | |
| CURLOPT_EXPECT_100_TIMEOUT_MS | Le délais d'attente pour les réponses Expect: 100-continue responses en millisecondes. Par défaut 1000 millisecondes. | Ajouté dans cURL 7.36.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS | Une longueur d'avance pour ipv6 pour l'algorithme happy eyeballs. Happy eyeballs tente se connecter à la fois aux adresses IPv4 et IPv6 pour les hôtes à double pile, préférant IPv6 d'abord pour les millisecondes d'expiration. Par défaut CURL_HET_DEFAULT, qui est actuellement 200 millisecondes. | Ajouté en cURL 7.59.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_FTPSSLAUTH | La méthode d'identification FTP, lorsqu'elle est activée : CURLFTPAUTH_SSL(tenter SSL en premier),CURLFTPAUTH_TLS(tenter TLS en premier), ouCURLFTPAUTH_DEFAULT(laisser cURL décider). | Ajouté en cURL 7.12.2. | 
| CURLOPT_HEADEROPT | Comment gérer les en-têtes. Une des constantes suivantes : CURLHEADER_UNIFIED: les en-têtes spécifié dansCURLOPT_HTTPHEADERseront utilisés dans les
             requêtes à la fois aux serveurs ainsi qu'aux proxies.
             Avec cette option activé,CURLOPT_PROXYHEADERn'aura pas d'effet.CURLHEADER_SEPARATE: fait que les en-têtesCURLOPT_HTTPHEADERsont uniquement envoyés aux
             serveurs et pas à un proxy. Les en-têtes pour les proxies doivent
             être définit avecCURLOPT_PROXYHEADERpour être
             utilisé. Il est à noter que si une requête non-CONNECT est envoyé à un
             proxy, libcurl envera à la fois les en-têtes de serveur et de proxy.
             Lors de CONNECT, libcurl envera les en-têtesCURLOPT_PROXYHEADERseulement au proxy et les
             en-têtesCURLOPT_HTTPHEADERseulement au serveur.
            
            
             Par défautCURLHEADER_SEPARATEà partir de cURL
             7.42.1, etCURLHEADER_UNIFIEDauparavant. | Ajouté dans cURL 7.37.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE(défaut, laisse cURL
            décider la version à utiliser),CURL_HTTP_VERSION_1_0(force HTTP/1.0),
            ouCURL_HTTP_VERSION_1_1(force HTTP/1.1),CURL_HTTP_VERSION_2_0(tente HTTP 2),CURL_HTTP_VERSION_2 (alias deCURL_HTTP_VERSION_2_0)
           ,CURL_HTTP_VERSION_2TLS(tente HTTP 2 sur TLS (HTTPS) uniquement) ouCURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE(émet des requêtes HTTP non TLS en utilisant HTTP / 2 sans mise à niveau HTTP / 1.1). | |
| CURLOPT_HTTPAUTH | 
             La méthode d'identification HTTP à utiliser. Ces options sont :
              
             L'opérateur bit à bit  
              
              | |
| CURLOPT_INFILESIZE | La taille attendue, en octets, du fichier lors du téléversemement
            d'un fichier vers un site distant. Notez que l'utilisation de cette
            option n'arrêtera pas libcurl d'envoyer plus de données,
            de la même façon que ce qui est envoyé dépend de l'option CURLOPT_READFUNCTION. | |
| CURLOPT_LOW_SPEED_LIMIT | La vitesse de transfert, en octets par secondes en dessous de laquelle,
            et pendant CURLOPT_LOW_SPEED_TIMEsecondes,
            PHP considérera qu'elle est trop lente, et annulera le transfert. | |
| CURLOPT_LOW_SPEED_TIME | Le temps en secondes, pendant lequel si le transfert reste en
            dessous de CURLOPT_LOW_SPEED_LIMIT,
            PHP considérera que la connexion est trop lente, et l'annulera. | |
| CURLOPT_MAXCONNECTS | Le nombre maximal de connexions persistantes autorisées.
            Lorsque la limite est atteinte, CURLOPT_CLOSEPOLICYest utilisé pour déterminer quelle connexion à fermer. | |
| CURLOPT_MAXREDIRS | Le nombre maximal de redirections HTTP à suivre.
            Utilisez cette option avec l'option CURLOPT_FOLLOWLOCATION.
            Une valeur par défaut de20est définit pour prévenir
            les redirections infinies.
            Définir à-1permet les redirections infinies, et0refuse toute redirection. | |
| CURLOPT_PORT | Un numéro de port alternatif auquel se connecter. | |
| CURLOPT_POSTREDIR | Un masque de bit de 1 (301 Moved Permanently), 2 (302 Found)
            et 4 (303 See Other) si la méthode HTTP POST doit être maintenu
            quand CURLOPT_FOLLOWLOCATIONest défini et un 
            type spécifique de redirection se produit. | Ajouté dans cURL 7.19.1. | 
| CURLOPT_PROTOCOLS | 
             Champ de bits de valeurs  
             Les options valides de protocoles sont :
              | Ajouté en cURL 7.19.4. | 
| CURLOPT_PROXYAUTH | La méthode d'authentifucation HTTP à utiliser pour la connexion
            à un proxy. Utilisez la même méthode que celle décrite dans CURLOPT_HTTPAUTH.
            Pour une identification avec un proxy, seulsCURLAUTH_BASICetCURLAUTH_NTLMsont actuellement supportés. | Ajouté en CURL 7.10.7. | 
| CURLOPT_PROXYPORT | Le numéro du port du proxy à utiliser pour la connexion.
            Ce numéro de port peut également être défini dans CURLOPT_PROXY. | |
| CURLOPT_PROXYTYPE | Soit CURLPROXY_HTTP(par défaut),CURLPROXY_SOCKS4,CURLPROXY_SOCKS5,CURLPROXY_SOCKS4AouCURLPROXY_SOCKS5_HOSTNAME. | Ajouté en cURL 7.10. | 
| CURLOPT_REDIR_PROTOCOLS | Masque de bits des valeurs CURLPROTO_*. S'il est
            utilisé, ce masque limite les protocoles que libcurl peut utiliser dans
            un transfert qu'il suit après une redirection lorsqueCURLOPT_FOLLOWLOCATIONest activé.
            Cela permet de limiter certains transferts spécifique à utiliser un sous
            groupe des protocoles lors d'une redirection.
            Par défaut, libcurl va autoriser tous les protocoles, hormis FILE et SCP. 
            Ceci est différent comparé aux versions antérieurs à 7.19.4 qui
            suivaient inconditionnellement tous les protocoles supportés.
            Voir aussiCURLOPT_PROTOCOLSpour les
            valeurs des constantes de protocoles. | Ajoutés en cURL 7.19.4. | 
| CURLOPT_RESUME_FROM | La position, en octets, où reprendre un transfert. | |
| CURLOPT_SOCKS5_AUTH | 
             Les méthode(s) d'authentification SOCKS5 à utiliser. Les options
             sont :  
             L'opérateur bit à bit  
              
              
              
             Par défaut  | Disponible à partir de PHP 7.3.0 et curl >= 7.55.0. | 
| CURLOPT_SSL_OPTIONS | Définit les options de comportement SSL, qui est un masque de bits des
            constantes suivantes : CURLSSLOPT_ALLOW_BEAST: n'essaye pas
             d'utiliser des solutions de contournement pour une faille de
             sécurité dans les protocoles SSL3 et TLS1.0.CURLSSLOPT_NO_REVOKE: désactiver les
             vérifications de révocation de certificats pour les serveurs SSL
             où un tel comportement est présent. | Ajouté dans cURL 7.25.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_SSL_VERIFYHOST | 2pour vérifier qu'un champ Common Name field ou
            Subject Alternate Name dans le certificat SSL correspond avec le nom d'hôte fourni.0pour ne pas vérifier les noms.1ne devrait pas être utilisé.
            Dans les environnement de production, la valeur de cette option
            doit être conservée à2(valeur par défaut). | Support pour la valeur 1supprimé en cURL 7.28.1 | 
| CURLOPT_SSLVERSION | Une valeur parmi CURL_SSLVERSION_DEFAULT(0),CURL_SSLVERSION_TLSv1(1),CURL_SSLVERSION_SSLv2(2),CURL_SSLVERSION_SSLv3(3),CURL_SSLVERSION_TLSv1_0(4),CURL_SSLVERSION_TLSv1_1(5) ouCURL_SSLVERSION_TLSv1_2(6).
            La version TLS maximale peut être définie en utilisant une des
            constantesCURL_SSLVERSION_MAX_*. Il est aussi
            possible de OU une des constantesCURL_SSLVERSION_*avec une des constantesCURL_SSLVERSION_MAX_*.CURL_SSLVERSION_MAX_DEFAULT(la version maximale
            supporté par la bibliothèque),CURL_SSLVERSION_MAX_TLSv1_0,CURL_SSLVERSION_MAX_TLSv1_1,CURL_SSLVERSION_MAX_TLSv1_2, ouCURL_SSLVERSION_MAX_TLSv1_3.
 | |
| CURLOPT_PROXY_SSL_OPTIONS | Définit les options de comportement proxie SSL, qui est un masque
            de bits des constantes suivantes : CURLSSLOPT_ALLOW_BEAST: n'essaye pas
             d'utiliser des solutions de contournement pour une faille de
             sécurité dans les protocoles SSL3 et TLS1.0.CURLSSLOPT_NO_REVOKE: désactiver les
             vérifications de révocation de certificats pour les serveurs SSL
             où un tel comportement est présent. (curl >= 7.44.0)CURLSSLOPT_NO_PARTIALCHAIN: n'accepte pas
             des chaînes "partielles" de certificats, qui est sinon la valeur
             par défaut. (curl >= 7.68.0) | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_SSL_VERIFYHOST | Définir à 2pour vérifier dans le certificats du
            proxie HTTPS les champs de nom contre le nom du proxie.
            Quand définie à0la connexion succède peut
            importe des noms utilisés dans le certificat.
            Utilisez cette fonctionnalité avec précaution!1est traité comme une option de debug dans curl
            7.28.0 et antérieur. Entre curl 7.28.1 et 7.65.3CURLE_BAD_FUNCTION_ARGUMENTest retourné.
            À partir de curl 7.66.01et2sont traité comme la même valeur. En environnement de production,
            la valeur de cette option doit être conservée à2(valeur par défaut). | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_SSLVERSION | Une de CURL_SSLVERSION_DEFAULT,CURL_SSLVERSION_TLSv1,CURL_SSLVERSION_TLSv1_0,CURL_SSLVERSION_TLSv1_1,CURL_SSLVERSION_TLSv1_2,CURL_SSLVERSION_TLSv1_3,CURL_SSLVERSION_MAX_DEFAULT,CURL_SSLVERSION_MAX_TLSv1_0,CURL_SSLVERSION_MAX_TLSv1_1,CURL_SSLVERSION_MAX_TLSv1_2,CURL_SSLVERSION_MAX_TLSv1_3ouCURL_SSLVERSION_SSLv3.
 | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_STREAM_WEIGHT | Définit le poid numérique du flux (un nombre entre 1 et 256). | Ajouté dans cURL 7.46.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_TCP_KEEPALIVE | Si définie à 1, Des sondes TCP keepalive seront
            envoyées. Le délais et fréquence de ces sondes peut être controllé
            par les optionsCURLOPT_TCP_KEEPIDLEetCURLOPT_TCP_KEEPINTVL, à condition que le
            système d'exploitation les supporte. Si définie à0(par défaut) les sondes keepalive sont désactivées. | Ajouté dans cURL 7.25.0. | 
| CURLOPT_TCP_KEEPIDLE | Définie le délais, en secondes, que le système d'exploitation
            attendra pendent que la connexion est inoccupé, avant d'envoyer des
            sondes keepalive, si CURLOPT_TCP_KEEPALIVEest
            activé. Pas tout les systèmes d'exploitations supportent cette option.
            La valeur par défaut est60. | Ajouté dans cURL 7.25.0. | 
| CURLOPT_TCP_KEEPINTVL | Définie l'intervalle, en secondes, que le système d'exploitation
            attendra entre les envoies des sondes keepalive, si CURLOPT_TCP_KEEPALIVEest activé.
            Pas tout les systèmes d'exploitations supportent cette option.
            La valeur par défaut est60. | Ajouté dans cURL 7.25.0. | 
| CURLOPT_TIMECONDITION | Comment CURLOPT_TIMEVALUEest traité.
            UtiliserCURL_TIMECOND_IFMODSINCEpour retourner
            la page uniquement si elle a été modifiée depuis le temps spécifié dansCURLOPT_TIMEVALUE. Si elle n'a pas été modifiée,
            un en-tête"304 Not Modified"sera retourné en
            supposant queCURLOPT_HEADERvauttrue.
            UtiliserCURL_TIMECOND_IFUNMODSINCEpour faire
            l'inverse. UtiliserCURL_TIMECOND_NONEpour
            ignorerCURLOPT_TIMEVALUEet toujours
            retourner la page. La valeur par défaut estCURL_TIMECOND_NONE. | Antérieur à cURL 7.46.0 la valeur par défaut était CURL_TIMECOND_IFMODSINCE. | 
| CURLOPT_TIMEOUT | Le temps maximum d'exécution de la fonction cURL exprimé en secondes. | |
| CURLOPT_TIMEOUT_MS | Le nombre maximal de millisecondes autorisé aux fonctions cURL pour l'exécution. Si libcurl est compilé pour utiliser le système standard de résolution de noms, cette partie de la connexion utilisera toujours la seconde résolution pour le délai d'attente maximal avec un délai d'attente maximal minimum autorisé d'une seconde. | Ajouté en cURL 7.16.2. | 
| CURLOPT_TIMEVALUE | Le temps en secondes depuis le 1er janvier 1970. Le temps sera
            utilisée par CURLOPT_TIMECONDITION. | |
| CURLOPT_TIMEVALUE_LARGE | Le temps en secondes depuis le 1er Janvier, 1970. Le temps sera
            utilisé par CURLOPT_TIMECONDITION. Par défaut zéro.
            La différence entre cette option etCURLOPT_TIMEVALUEest le type d'argument. Sur les systèmes où 'long' est seulement
            large de 32 bits, cette option doit être utilisé pour définir des
            dates au delà de l'année 2038. | Ajouté dans cURL 7.59.0. Disponible à partir de PHP 7.3.0. | 
| CURLOPT_MAX_RECV_SPEED_LARGE | Si un téléchargement excède cette vitesse (comptée en octets par seconde) sur une moyenne cumulée durant le transfert, le transfert se mettra en pause pour conserver la moyenne inférieure ou égales à la valeur de ce paramètre. Par défaut, la vitesse est illimitée. | Ajouté en cURL 7.15.5. | 
| CURLOPT_MAX_SEND_SPEED_LARGE | Si un téléversement excède cette vitesse (comptée en octets par seconde) sur une moyenne cumulée durant le transfert, le transfert se mettra en pause pour conserver la moyenne inférieure ou égales à la valeur de ce paramètre. Par défaut, la vitesse est illimitée. | Ajouté en cURL 7.15.5. | 
| CURLOPT_SSH_AUTH_TYPES | Un masque de bit constitué d'une ou plusieurs de : CURLSSH_AUTH_PUBLICKEY,CURLSSH_AUTH_PASSWORD,CURLSSH_AUTH_HOST,CURLSSH_AUTH_KEYBOARD. Définir àCURLSSH_AUTH_ANYpour laisser libcurl choisir. | Ajouté en cURL 7.16.1. | 
| CURLOPT_IPRESOLVE | Autorise une application à sélectionner le type d'adresse IP à utiliser
            lors de la résolution des noms d'hôtes. Ceci n'est intéressant
            que lors de l'utilisation des noms d'hôtes qui résolvent les adresses
            en utilisant plus d'une version d'IP ; les valeurs possibles sont CURL_IPRESOLVE_WHATEVER,CURL_IPRESOLVE_V4,CURL_IPRESOLVE_V6; par défautCURL_IPRESOLVE_WHATEVER. | Ajouté en cURL 7.10.8. | 
| CURLOPT_FTP_FILEMETHOD | Dit à curl quelle méthode à utiliser pour atteindre un fichier
            sur un serveur FTP(S). Valeur possible sont CURLFTPMETHOD_MULTICWD,CURLFTPMETHOD_NOCWDetCURLFTPMETHOD_SINGLECWD. | Ajouté en cURL 7.15.1. | 
       value doit être une chaîne de caractères pour les
       valeurs suivantes du paramètres option :
       
| Option | Définir valueà | Notes | 
|---|---|---|
| CURLOPT_ABSTRACT_UNIX_SOCKET | Active l'usage d'un socket domaine Unix abstrait au lieu d'établir
            une connexion TCP à un hôte et définie le chemin à la chaîne de caractères
            fournie. Cette option partage les mêmes sémantiques que CURLOPT_UNIX_SOCKET_PATH. Ces deux options
            partagent le même stockage et doc seul un des deux peut être définie
            par gestionnaire. | Disponible à partir de PHP 7.3.0 et cURL 7.53.0 | 
| CURLOPT_CAINFO | Le nom d'un fichier contenant un ou plusieurs certificats pour vérifier la concordance.
            Cela n'a de sens que si vous l'utilisez en combinaison de l'option CURLOPT_SSL_VERIFYPEER. | Peut nécessiter un chemin absolu. | 
| CURLOPT_CAPATH | Un dossier qui contient les certificats. Utilisez cette option
            avec l'option CURLOPT_SSL_VERIFYPEER. | |
| CURLOPT_COOKIE | Le contenu de l'en-tête "Cookie: ", à
            transmettre dans l'en-tête HTTP. Notez que les cookies sont
            séparées par des points-virgule, suivi d'un d'espace 
            (e.g., "fruit=pomme; couleur=rouge") | |
| CURLOPT_COOKIEFILE | Le nom du fichier contenant les données de cookie. Le fichier de cookie peut être au format Netscape, ou simplement des en-têtes HTTP écrits dans un fichier. Si le nom est une chaîne de caractère vide, aucun cookie n'est chargé, mais le gestionnaire est toujours actif. | |
| CURLOPT_COOKIEJAR | Le nom de fichier pour y sauvegarder tous les cookies internes lorsque la connexion se ferme, par exemple après un appel à curl_close. | |
| CURLOPT_COOKIELIST | Une chaîne cookie (c.à.d. une seule ligne dans le format Netscape/Mozilla,
            ou un en-tête de style HTTP régulier Set-Cookie) ajoute cet unique
            cookie au stockage interne de cookie. "ALL"efface tout les cookies tenu en mémoire."SESS"efface tout les cookies de session tenu en mémoire."FLUSH"écrit tout les connues dans le fichier
            spécifié parCURLOPT_COOKIEJAR."RELOAD"charge tout les cookies depuis les fichiers
            spécifié parCURLOPT_COOKIEFILE. | Disponible à partir de cURL 7.14.1. | 
| CURLOPT_CUSTOMREQUEST | 
            Une méthode de requête qui sera utilisée à la place de  
 | |
| CURLOPT_DEFAULT_PROTOCOL | Le protocole par défaut à utiliser si l'URL manque un nom de schème. | Ajouté en cURL 7.45.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_DNS_INTERFACE | Définit le nom de l'interface réseau à laquelle le résolveur DNS doit se lier. Ceci doit être un nom d'interface (pas une adresse). | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_DNS_LOCAL_IP4 | Définit l'adresse IPv4 locale à laquelle le résolveur DNS doit se lier. L'argument devrait contenir une seule adresse numérique IPv4 sous chaîne de caractères | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_DNS_LOCAL_IP6 | Définit l'adresse IPv6 locale à laquelle le résolveur DNS doit se lier. L'argument devrait contenir une seule adresse numérique IPv6 sous chaîne de caractères | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_EGDSOCKET | Comme CURLOPT_RANDOM_FILEexcepté
            que vous passez une chaîne qui contient un nom de fichier vers le socketEntropy Gathering Daemon. | |
| CURLOPT_ENCODING | Le contenu des en-têtes "Accept-Encoding: "et active le décodage de la réponse. Les encodages supportés sont"identity","deflate"et"gzip". Si une chaîne vide""est utilisé,
            un en-tête contenant tous les types d'encodage supportés est envoyé. | Ajouté en cURL 7.10. | 
| CURLOPT_FTPPORT | La valeur qui sera utilisée pour récupérer l'adresse IP utilisée pour l'instruction FTP "PORT". L'instruction PORT indique au serveur distant de se connecter à cette adresse IP. La chaîne peut être une adresse IP, un nom d'hôte, un nom d'interface réseau (sous UNIX), ou juste '-', pour utiliser les IP par défaut du système. | |
| CURLOPT_INTERFACE | Le nom de l'interface à utiliser. Cela peut être le nom d'une interface, une adresse IP ou encore le nom de l'hôte. | |
| CURLOPT_KEYPASSWD | Le mot de passé nécessaire pour utiliser la clé privée CURLOPT_SSLKEYou la clé privéeCURLOPT_SSH_PRIVATE_KEYFILE. | Added in cURL 7.16.1. | 
| CURLOPT_KRB4LEVEL | Le degré de sécurité
            KRB4 (Kerberos 4). Chacune des valeurs (dans l'ordre du plus petit au plus grand)
            suivantes sont valides : "clear","safe","confidential","private"..
            Si la chaîne passée ne correspond pas à une de ces valeurs,
            la valeur"private"sera définie. 
            Positionner cette valeur ànullrevient à désactiver
            la sécurité KRB4. Actuellement, la sécurité KRB4 fonctionne uniquement
            avec les transaction FTP. | |
| CURLOPT_LOGIN_OPTIONS | Peut être utilisé pour définir des options de connexion spécifiques au
            protocole, telles que le mécanisme d’authentification préféré via
            "AUTH = NTLM" ou "AUTH = *", et doit être utilisé conjointement avec
            l'option CURLOPT_USERNAME. | Ajouté en cURL 7.34.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_PINNEDPUBLICKEY | Définit la clé publique épinglée. La chaîne de caractères peut être le nom de fichier de votre clé publique épinglée. Le format de fichier attendu est "PEM" ou "DER". La chaîne de caractères peut également être un nombre quelconque de hachages sha256 codés en base64, précédés de "sha256//" et séparés par ";". | Ajouté en cURL 7.39.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_POSTFIELDS | Toutes les données à passer lors d'une opération de HTTP POST.
             Ce paramètre peut être passé sous la forme d'une chaîne encodée URL, comme
             ' para1=val1¶2=val2&...' ou sous
             la forme d'un tableau dont le nom du champ est la clé, et les
             données du champ la valeur.
             Si le paramètrevalueest un tableau,
             l'en-têteContent-Typesera définie àmultipart/form-data.
            
            
             Des fichiers peuvent être envoyé en utilisant
             CURLFile ou CURLStringFile, dans quel casvaluedoit être un tableau. | |
| CURLOPT_PRIVATE | Toutes les données devant être associées à ce descripteur cURL.
            Ces données peuvent ensuite être récupérées avec l'option CURLINFO_PRIVATEde 
            curl_getinfo(). cURL ne fait rien avec ces données.
            Lors de l'utilisation d'un multidescripteur cURL, ces données privées
            sont généralement une clé unique pour identifier un descripteur cURL standard. | Ajouté en cURL 7.10.3. | 
| CURLOPT_PRE_PROXY | Définie une chaîne de caractères contenant le nom d'hôte ou addresse OP sous
            notation décimale à point à utiliser en tant que pré-proxy que curl
            se connecte avant qu'il se connecte au proxy HTTP(S) spécifié dans
            l'option CURLOPT_PROXYpour la requête à venir.
            Le pré-proxy peut uniquement être un proxy SOCKS et devrait être
            préfixé avec[scheme]://pour spécifier quel type
            de socks est utilisé.
            Une addresse IPv6 numérique doit être écrit entre [crochet].
            Définir le pré-proxy à une chaîne vide désactive explicitement
            l'utilisation d'un pré-proxy.
            Pour spécifier le numéro de port dans la chaîne, ajouter:[port]à la fin du nom d'hôte. Le numéro de port
            du proxy peut être optionellement définie avec l'option distincteCURLOPT_PROXYPORT.  Utilise le port 1080 pour
            les proxies par défaut si aucun port n'a été spécifié. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY | Le nom du proxy HTTP au tunnel qui le demande. | |
| CURLOPT_PROXY_SERVICE_NAME | Le nom du service d'authentification proxy. | Ajouté en cURL 7.34.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_PROXY_CAINFO | Le chemin vers le bundle d'autorité de certification (CA) du proxy. Définir le chemin en tant que chaîne de caractères nomant un fichier tenant un ou plusieurs certificats pour vérifier le proxy HTTPS avec. Cette option est pour se connecter à un proxy HTTPS, pas un serveur HTTPS. Par défaut définit au chemin système où le bundle cacert de libcurl est supposé être stocké. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_CAPATH | Le dossier tenant plusieurs certificats CA pour vérifier le proxy HTTPS avec. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_CRLFILE | Définie le nom de fichier avec la concatenation de CRL (Certificate Revocation List) en format PEM pour utiliser lors de la validation de certificat qui se produit lors de l'échange SSL. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_KEYPASSWD | Définie la chaîne de caractères a utiliser comme mot de passe nécessaire pour
            uriliser la clé privée CURLOPT_PROXY_SSLKEY.
            Vous n'avez jamais besoin d'une passphrase pour charger un certificat
            mais vous en avez besoin d'un pour charger votre clé privée.
            Cette option est pour se connecter à un proxy HTTPS, et non un
            serveur HTTPS. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_PINNEDPUBLICKEY | Définie la clé pubique éplinglé pour le proxy HTTPS. La chaîne de caractères peut être le nom de fichier de votre clé publique. Le format de fichier attendue est "PEM" ou "DER". La chaîne de caractères peut également être un nombre quelconque de hachages sha256 encodés en base64 précédés de "sha256//" et séparé de ";" | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_SSLCERT | Le nom de fichier de votre certificat client utilisé pour se connecter
            au proxy HTTPS. Le format par défaut est "P12" sur Secure Transport
            et "PEM" sur les autres moteurs, et peut être modifié avec CURLOPT_PROXY_SSLCERTTYPE.
            Avec NSS ou Secure Transport, ceci peut être le surnom du certificat
            avec lequel vous souhaitez vous authentifier avec tel qu'il est
            nommée dans la base de donnée sécurité.
            Si vous voulez utiliser un fichier du dossier courrent, veuillez
            le précédez avec le préfix "./", de l'ordre à éviter une confusion
            avec le surnom. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_SSLCERTTYPE | Le format de vos certificats client utilisé lors de la connexion à un proxy HTTPS. Les formats supporté sont "PEM" et "DER", sauf avec Secure Transport. OpenSSL (version 0.9.3 et ultérieur) et Secure Transport (sur iOS 5 ou ultérieur, ou OS X 10.7 ou ultérieur) supportent aussi les fichier encodé PKCS#12. Par défaut "PEM". | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_SSL_CIPHER_LIST | La liste des suites de chiffrement à utiliser pour la connexion au proxy HTTPS. La liste doit être syntaxiquement correcte, elle consiste de une ou plusieurs suites de chiffrement séparé par des deux-points. Les virgules ou espaces sont aussi des séparateurs acceptable mais les deux-points sont normalement utilisé, !, - et + peuvent être utilisé comme des opérations. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_TLS13_CIPHERS | La liste des suites de chiffrement à utiliser pour la connexion TLS
            1.3 à un proxy. La liste doit être syntaxiquement correcte, elle
            consiste de une ou plusieurs suites de chiffrement séparé par des
            deux-points. Cette option est actuellement seulement utilisé quand
            curl est compilé pour utiliser OpenSSL 1.1.1 ou ultérieur.
            Si vous utilisé un backend SSL différent vous pouvez essayer de
            définir les suites de chiffrement TLS 1.3 en utilisant l'option CURLOPT_PROXY_SSL_CIPHER_LIST. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.61.0. Disponible si compilé avec OpenSSL >= 1.1.1. | 
| CURLOPT_PROXY_SSLKEY | Le nom de fichier de votre clé privé utilisé pour se connecter au
            proxy HTTPS. Le format par défaut est "PEM" et peut être modifié
            avec CURLOPT_PROXY_SSLKEYTYPE. 
            (iOS et Mac OS X uniquement) Cette option est ignoré si curl est
            compilé contre Secure Transport. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. Disponible si TLS est activé. | 
| CURLOPT_PROXY_SSLKEYTYPE | Le format de votre clé privée. Format supporté sont "PEM", "DER" et "ENG". | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_TLSAUTH_PASSWORD | Le mot de passe à utiliser pour la méthode d'authentification TLS
            spécifié avec l'option CURLOPT_PROXY_TLSAUTH_TYPE.
            Nécessite que l'optionCURLOPT_PROXY_TLSAUTH_USERNAMEsoit aussi définie. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_TLSAUTH_TYPE | La méthode d'authentification TLS utilisé pour la connexion HTTPS.
            Méthode supporté est "SRP". 
 | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXY_TLSAUTH_USERNAME | Tusername à utiliser pour la méthode d'autenthification TLS du proxy
            HTTPS spécifié avec l'option CURLOPT_PROXY_TLSAUTH_TYPE.
            Nécessite que l'optionCURLOPT_PROXY_TLSAUTH_PASSWORDsoit aussi définie. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. | 
| CURLOPT_PROXYUSERPWD | Un nom d'utilisateur et un mot de passe formatés sous la forme "[username]:[password]"à utiliser
            pour la connexion avec le proxy. | |
| CURLOPT_RANDOM_FILE | Un nom de fichier à utiliser pour interroger le générateur de nombre aléatoire pour SSL. | |
| CURLOPT_RANGE | La plage de valeurs à récupérer sous la forme "X-Y",
            où les valeurs de X ou Y peuvent être omises. Le transfert HTTP
            supporte aussi plusieurs intervalles, séparés par
            des virgules :"X-Y,N-M". | |
| CURLOPT_REFERER | Le contenu de l'en-tête "Referer: "à utiliser
            dans une requête HTTP. | |
| CURLOPT_SERVICE_NAME | Le nom du service d'authentification. | Ajouté en cURL 7.43.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | Une chaîne contenant 32 digits hexédécimaux. La chaîne doit être la somme MD5 de la clé publique de l'hôte distant, et libcurl rejètera la connexion à l'hôte tant que les sommes MD5 ne corresponderont pas. Cette option n'est valable que pour les transferts SCP et SFTP. | Ajouté en cURL 7.17.1. | 
| CURLOPT_SSH_PUBLIC_KEYFILE | Le nom du fichier pour la clé publique. Si non utilisé, libcurl utilisera pas défaut $HOME/.ssh/id_dsa.pub si la variable d'environnement $HOME est définie, et seulement "id_dsa.pub" si HOME n'est pas définie. | Ajouté en cURL 7.16.1. | 
| CURLOPT_SSH_PRIVATE_KEYFILE | Le nom du fichier pour la clé privée. Si non utilisé, libcurl
            utilisera pas défaut $HOME/.ssh/id_dsa si la variable d'environnement
            $HOME est définie, et seulement "id_dsa" si HOME n'est pas définie.
            Si le fichier est protégé par un mot de passe, définissez le avec la
            constante CURLOPT_KEYPASSWD. | Ajouté en cURL 7.16.1. | 
| CURLOPT_SSL_CIPHER_LIST | Une liste de chiffrements à utiliser avec SSL. Par exemple, RC4-SHAetTLSv1sont des listes
            valides de chiffrements. | |
| CURLOPT_SSLCERT | Le nom de fichier du certificat, au format PEM. | |
| CURLOPT_SSLCERTPASSWD | Le mot de passe nécessaire
            pour utiliser le certificat CURLOPT_SSLCERT. | |
| CURLOPT_SSLCERTTYPE | Le format de votre certificat. Les formats supportés sont "PEM"(par défaut),"DER",
            et"ENG".
            À partir de OpenSSL 0.9.3,"P12"(pour fichiers
            encodé PKCS#12) et aussi supporté. | Ajouté en cURL 7.9.3. | 
| CURLOPT_SSLENGINE | L'identifiant pour le moteur de chiffrement de votre clé privée spécifié dans CURLOPT_SSLKEY. | |
| CURLOPT_SSLENGINE_DEFAULT | L'identifiant pour le moteur de chiffrement utilisé pour les opérations de chiffrement asymétrique. | |
| CURLOPT_SSLKEY | Un nom de fichier contenant votre clé privée SSL. | |
| CURLOPT_SSLKEYPASSWD | 
            Le mot de passe secret utilisé par votre clé SSL privée spécifié dans
             
 | |
| CURLOPT_SSLKEYTYPE | Le type de votre clé SSL privée spécifié dans CURLOPT_SSLKEY. Les types de clé 
            supportés sont"PEM"(par défaut),"DER",
            et"ENG". | |
| CURLOPT_TLS13_CIPHERS | La liste des suites de chiffrement à utiliser pour la connexion TLS
            1.3. La liste doit être syntaxiquement correcte, elle consiste de
            un ou plusieurs chaînes de suites de chiffrement séparé par des
            deux-points.
            Cette option est actuellement uniquement quand curl est compilé pour
            utiliser OpenSSL 1.1.1 ou ultérieur.
            Si vous utiliser un backend SSL différent vous pouvez essayer de
            définir les suites de chiffrement TLS 1.3 en utilisant l'option CURLOPT_SSL_CIPHER_LIST. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.61.0. Disponible quand compilé avec OpenSSL >= 1.1.1. | 
| CURLOPT_UNIX_SOCKET_PATH | Permet l’utilisation de sockets de domaine Unix en tant que point de connexion et définit le chemin à la chaîne de caractères fournit. | Ajouté en cURL 7.40.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_URL | L'URL à récupérer. Vous pouvez aussi choisir cette valeur lors de l'appel à curl_init(). | |
| CURLOPT_USERAGENT | Le contenu de l'en-tête "User-Agent: "à utiliser
            dans une requête HTTP. | |
| CURLOPT_USERNAME | Le nom d'utilisateur à utiliser lors de l'authentification. | Ajouté en cURL 7.19.1. | 
| CURLOPT_PASSWORD | Le mot de passe à utiliser lors de l'authentification. | Ajouté en cURL 7.19.1. | 
| CURLOPT_USERPWD | Un nom d'utilisateur et un mot de passe formatés sous la forme "[username]:[password]"à utiliser pour la connexion. | |
| CURLOPT_XOAUTH2_BEARER | Spécifie le jeton d'accès OAuth 2.0. | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. | 
       value doit être un tableau pour les valeurs suivantes
       du paramètres option :
       
| Option | Définir valueà | Notes | 
|---|---|---|
| CURLOPT_CONNECT_TO | Connecte à un hôte et à un port spécifiques au lieu de l'hôte et
            du port de l'URL. Accepte un tableau de chaîne de caractères ave le format HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT. | Ajouté en cURL 7.49.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_HTTP200ALIASES | Un tableau de réponses HTTP 200 qui sera traité comme réponses valides et non comme des erreurs. | Ajouté en CURL 7.10.3. | 
| CURLOPT_HTTPHEADER | Un tableau de champs d'en-têtes HTTP à définir, au format 
             array('Content-type: text/plain', 'Content-length: 100')
             | |
| CURLOPT_POSTQUOTE | Un tableau de commandes FTP à exécuter sur le serveur après que la requête FTP se soit exécutée. | |
| CURLOPT_PROXYHEADER | Un tableau d'en-têtes HTTP personalisé à passer aux proxies. | Ajouté en cURL 7.37.0. Disponible à partir de PHP 7.0.7. | 
| CURLOPT_QUOTE | Un tableau de commandes FTP à exécuter sur le serveur avant la requête FTP. | |
| CURLOPT_RESOLVE | Fournissez une adresse personnalisée pour une paire hôte / port
            spécifique. Un tableau de chaîne de caractères de nom d'hôte, de port et d'adresse
            IP, chaque élément étant séparé par deux-points. Dans le format : 
             array("example.com:80:127.0.0.1")
             | Ajouté en cURL 7.21.3. | 
       value doit être une ressource (utilisant
       fopen(), par exemple) pour les valeurs suivantes
       du paramètre option :
       
| Option | Définissez le paramètre valueà | 
|---|---|
| CURLOPT_FILE | Le fichier où sera écrit le transfert. Par défaut, STDOUT(la fenêtre du navigateur). | 
| CURLOPT_INFILE | Le fichier lu par le transfert lors du chargement. | 
| CURLOPT_STDERR | Un chemin alternatif à utiliser pour afficher les erreurs au lieu de STDERR. | 
| CURLOPT_WRITEHEADER | Le fichier où sera écrit les parties d'en-tête du transfert. | 
       value doit être le nom d'une fonction ou d'une Closure
       valide pour les valeurs suivantes du paramètres option :
       
| Option | Définir valueà | 
|---|---|
| CURLOPT_HEADERFUNCTION | Une fonction de rappel acceptant deux paramètres. Le premier est la ressource cURL, le second, une chaîne de caractères avec les données d'en-têtes à écrire. Ces données d'en-têtes doivent être écrites par cette fonction de rappel. Le nombre d'octets écrit sera retourné. | 
| CURLOPT_PASSWDFUNCTION | Une fonction de rappel qui prend trois paramètres. Le premier est la ressource CURL, le second, une chaîne contenant un mot de passe de prompt et le troisième, est la longueur maximale du mot de passe. Retourne une chaîne contenant le mot de passe. | 
| CURLOPT_PROGRESSFUNCTION | Une fonction de rappel qui prend cinq arguments. Le premier est la ressource cURL, le second est le nombre total d'octets attendu à télécharger pendant le transfert, le troisième est le nombre d'octets téléchargés, le quatrième est le total d'octets attendu à uploader pendant le transfert, et le cinquième est le nombre d'octets uploadés. 
 
             Return a non-zero value to abort the transfer. In which case, the
             transfer will set a  | 
| CURLOPT_READFUNCTION | Une fonction de rappel qui prend trois paramètres.
            Le premier est une ressource cURL, le second,
            une ressource de flux fournie à cURL via l'option CURLOPT_INFILE, et le troisième, la quantité
            maximale de données à lire. La fonction de rappel doit retourner
            une chaîne dont la taille est inférieure ou égale à la quantité
            de données demandées, habituellement en les lisant depuis la ressource
            de flux passée. Elle doit retourner une chaîne vide pour signaler
            la finEOF. | 
| CURLOPT_WRITEFUNCTION | Une fonction de rappel qui prend deux paramètres. Le premier est la ressource CURL et le second, une chaîne contenant les données à écrire. En utilisant cette fonction de rappel, il devient de votre responsabilité d'écrire les données. Doit retourner le nombre exact d'octets écrits ou le transfert échouera avec une erreur. | 
Autres valeurs :
| Option | Définit le paramètre valueen | 
|---|---|
| CURLOPT_SHARE | Un résultat de la fonction curl_share_init(). Fait que le gestionnaire cURL va utiliser les données depuis le gestionnaire partagé. | 
   Cette fonction retourne true en cas de succès ou false si une erreur survient.
  
| Version | Description | 
|---|---|
| 8.0.0 | handleattend désormais une instance de CurlHandle;
  auparavant; une resource était attendue. | 
| 7.3.15, 7.4.3 | Introduction de la constante CURLOPT_HTTP09_ALLOWED. | 
| 7.3.0 | Introduit CURLOPT_ABSTRACT_UNIX_SOCKET,CURLOPT_KEEP_SENDING_ON_ERROR,CURLOPT_PRE_PROXY,CURLOPT_PROXY_CAINFO,CURLOPT_PROXY_CAPATH,CURLOPT_PROXY_CRLFILE,CURLOPT_PROXY_KEYPASSWD,CURLOPT_PROXY_PINNEDPUBLICKEY,CURLOPT_PROXY_SSLCERT,CURLOPT_PROXY_SSLCERTTYPE,CURLOPT_PROXY_SSL_CIPHER_LIST,CURLOPT_PROXY_SSLKEY,CURLOPT_PROXY_SSLKEYTYPE,CURLOPT_PROXY_SSL_OPTIONS,CURLOPT_PROXY_SSL_VERIFYHOST,CURLOPT_PROXY_SSL_VERIFYPEER,CURLOPT_PROXY_SSLVERSION,CURLOPT_PROXY_TLSAUTH_PASSWORD,CURLOPT_PROXY_TLSAUTH_TYPE,CURLOPT_PROXY_TLSAUTH_USERNAME,CURLOPT_SOCKS5_AUTH,CURLOPT_SUPPRESS_CONNECT_HEADERS,CURLOPT_DISALLOW_USERNAME_IN_URL,CURLOPT_DNS_SHUFFLE_ADDRESSES,CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,CURLOPT_HAPROXYPROTOCOL,CURLOPT_PROXY_TLS13_CIPHERS,CURLOPT_SSH_COMPRESSION,CURLOPT_TIMEVALUE_LARGEetCURLOPT_TLS13_CIPHERS. | 
| 7.0.7 | Introduit CURL_HTTP_VERSION_2,CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE,CURL_HTTP_VERSION_2TLS,CURL_REDIR_POST_301,CURL_REDIR_POST_302,CURL_REDIR_POST_303,CURL_REDIR_POST_ALL,CURL_VERSION_KERBEROS5,CURL_VERSION_PSL,CURL_VERSION_UNIX_SOCKETS,CURLAUTH_NEGOTIATE,CURLAUTH_NTLM_WB,CURLFTP_CREATE_DIR,CURLFTP_CREATE_DIR_NONE,CURLFTP_CREATE_DIR_RETRY,CURLHEADER_SEPARATE,CURLHEADER_UNIFIED,CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE,CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE,CURLMOPT_MAX_HOST_CONNECTIONS,CURLMOPT_MAX_PIPELINE_LENGTH,CURLMOPT_MAX_TOTAL_CONNECTIONS,CURLOPT_CONNECT_TO,CURLOPT_DEFAULT_PROTOCOL,CURLOPT_DNS_INTERFACE,CURLOPT_DNS_LOCAL_IP4,CURLOPT_DNS_LOCAL_IP6,CURLOPT_EXPECT_100_TIMEOUT_MS,CURLOPT_HEADEROPT,CURLOPT_LOGIN_OPTIONS,CURLOPT_PATH_AS_IS,CURLOPT_PINNEDPUBLICKEY,CURLOPT_PIPEWAIT,CURLOPT_PROXY_SERVICE_NAME,CURLOPT_PROXYHEADER,CURLOPT_SASL_IR,CURLOPT_SERVICE_NAME,CURLOPT_SSL_ENABLE_ALPN,CURLOPT_SSL_ENABLE_NPN,CURLOPT_SSL_FALSESTART,CURLOPT_SSL_VERIFYSTATUS,CURLOPT_STREAM_WEIGHT,CURLOPT_TCP_FASTOPEN,CURLOPT_TFTP_NO_OPTIONS,CURLOPT_UNIX_SOCKET_PATH,CURLOPT_XOAUTH2_BEARER,CURLPROTO_SMB,CURLPROTO_SMBS,CURLPROXY_HTTP_1_0,CURLSSH_AUTH_AGENTetCURLSSLOPT_NO_REVOKE. | 
Exemple #1 Initialisation d'une nouvelle session CURL et recherche d'une page Web
<?php
// Création d'une ressource cURL
$ch = curl_init();
// Définition de l'URL et autres options appropriées
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);
// Récupération de l'URL et passage au navigateur
curl_exec($ch);
// Fermeture de la ressource cURL et libération des ressources systèmes
curl_close($ch);
?>
Note:
Le fait de passer un tableau à la constante
CURLOPT_POSTFIELDSencodera les données commemultipart/form-data, tandis que le fait de passer une chaîne encodée URL encodera les données commeapplication/x-www-form-urlencoded.