curl_setopt
Définit une option de transmission cURL
&reftitle.description;
boolcurl_setopt
CurlHandlehandle
intoption
mixedvalue
Définit une option pour le gestionnaire de session cURL fournit.
&reftitle.parameters;
&curl.ch.description;
option
L'option CURLOPT_XXX à définir.
value
La valeur à définir pour option.
value doit être un &boolean; pour les
valeurs suivantes du paramètre option :
Option
Définir value à
Notes
CURLOPT_AUTOREFERER
&true; pour définir automatiquement le champ
Referer: dans les requêtes où une redirection
Location: suit.
CURLOPT_COOKIESESSION
&true; pour 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
&true; pour sortir les informations de certification SSL vers
STDERR pour les transferts sécurisés.
Ajouté en cURL version 7.19.1.
Nécessite CURLOPT_VERBOSE d'être activé.
CURLOPT_CONNECT_ONLY
&true; indique à 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
&true; pour convertir les nouvelles lignes Unix en nouvelles
lignes CRLF durant les transferts.
CURLOPT_DISALLOW_USERNAME_IN_URL
&true; pour 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
&true; pour 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
&true; pour 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
&true; pour 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
&true; pour 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
&true; pour é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
&true; pour activer le faux départ TLS.
Ajouté en cURL 7.42.0. Disponible à partir de PHP 7.0.7.
CURLOPT_FILETIME
&true; pour tenter de récupérer la date de modification
du document distant. Cette valeur peut être récupérée en utilisant
l'option CURLINFO_FILETIME avec
curl_getinfo.
CURLOPT_FOLLOWLOCATION
&true; pour suivre tous les en-têtes "Location: "
que le serveur envoie dans les en-têtes HTTP.
Voir aussi CURLOPT_MAXREDIRS.
CURLOPT_FORBID_REUSE
&true; pour forcer à fermer explicitement la connexion lorsque
le processus est terminé. Elle ne sera donc pas mise en cache pour
réutilisation.
CURLOPT_FRESH_CONNECT
&true; pour forcer l'utilisation d'une nouvelle connexion
au lieu d'une en cache.
CURLOPT_FTP_USE_EPRT
&true; pour utiliser EPRT (et LPRT) lors des téléchargements FTP
actifs. Utilisez &false; pour désactiver EPRT et LPRT
et ainsi n'utiliser que PORT.
CURLOPT_FTP_USE_EPSV
&true; pour tenter tout d'abord une commande EPSV pour les
transferts FTP avant de revenir à une commande PASV.
Définir à &false; pour désactiver EPSV.
CURLOPT_FTP_CREATE_MISSING_DIRS
&true; pour créer les dossiers intermédiaires lorsqu'une opération
FTP est demandée sur un chemin qui n'existe pas.
CURLOPT_FTPAPPEND
&true; pour que PHP ajoute les informations au fichier distant
plutôt que de l'écraser.
CURLOPT_TCP_NODELAY
&true; pour 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
&true; pour ne lister que les noms dans un dossier FTP.
CURLOPT_HEADER
&true; pour inclure l'en-tête dans la valeur de retour.
CURLINFO_HEADER_OUT
&true; pour suivre la &string; 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 &false; depuis libcurl 7.66.0;
Auparavant, vallait &true; par défaut.
Available since PHP 7.3.15 and 7.4.3, respectively, if built against libcurl >= 7.64.0
CURLOPT_HTTPGET
&true; pour 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
&true; pour passer par un proxy HTTP donné.
CURLOPT_HTTP_CONTENT_DECODING
&false; pour récupérer le corps de la réponse HTTP brute.
Disponible si compilé contre libcurl >= 7.16.2.
CURLOPT_KEEP_SENDING_ON_ERROR
&true; pour 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
&true; pour que PHP soit totalement silencieux concernant
toutes les fonctions cURL.
Supprimé en cURL 7.15.5 (Utiliser CURLOPT_RETURNTRANSFER à la place)
CURLOPT_NETRC
&true; pour 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
&true; pour exclure le corps de la sortie.
La méthode de la requête est alors définie à HEAD.
Modifier ceci à &false; ne modifie pas la méthode en GET.
CURLOPT_NOPROGRESS
&true; pour désactiver la barre de progression des transferts cURL.
PHP définit automatiquement cette option à &true;, ceci devrait
être modifié uniquement pour des raisons de déboguage.
CURLOPT_NOSIGNAL
&true; pour 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
&true; pour ne pas gérer les séquences point point.
Ajouté dans cURL 7.42.0. Disponible à partir de PHP 7.0.7.
CURLOPT_PIPEWAIT
&true; pour attendre pour le pipelining/multiplexing.
Ajouté dans cURL 7.43.0. Disponible à partir de PHP 7.0.7.
CURLOPT_POST
&true; pour que PHP fasse un HTTP POST régulier. Ce POST est le
type normal application/x-www-form-urlencoded,
utilisé couramment par les formulaires HTML.
CURLOPT_PUT
&true; pour HTTP PUT un fichier. Le fichier à téléverser avec PUT
doit être définit avec CURLOPT_INFILE et
CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER
&true; pour retourner le transfert en tant que &string; de la
valeur retournée par curl_exec au lieu
de l'afficher directement.
CURLOPT_SASL_IR
&true; pour 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
&false; pour 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
&false; pour 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
&false; pour arrêter cURL de vérifier le certificat du pair.
Les certificats alternatifs à vérifier contre peuvent être
spécifiés avec l'option CURLOPT_CAINFO ou
un répertoire de certificat peut être spécifié avec l'option
CURLOPT_CAPATH.
&true; par défaut à partir de cURL 7.10.
Paquet installé par défaut à partir de cURL 7.10.
CURLOPT_SSL_VERIFYSTATUS
&true; pour vérifier l'état du certificat.
Ajouté dans cURL 7.41.0. Disponible à partir de PHP 7.0.7.
CURLOPT_PROXY_SSL_VERIFYPEER
&false; pour arrêter cURL de vérifié le certificat du homologue.
Des certificats alternatifs à vérifier contre peuvent être définie
avec l'option CURLOPT_CAINFO ou un dossier de
certificat peut être définie avec l'option
CURLOPT_CAPATH. Quand définie à &false;, la
vérification du certificat homologue réussit malgré tout.
&true; par 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 dans CURLOPT_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
&true; pour réprimer les en-têtes de réponse proxy CONNECT des
fonctions de rappels utilisateurs
CURLOPT_HEADERFUNCTION et CURLOPT_WRITEFUNCTION,
quand CURLOPT_HTTPPROXYTUNNEL est utilisé et
une requête CONNECT est faite.
Ajouté dans cURL 7.54.0. Disponible à partir de PHP 7.3.0.
CURLOPT_TCP_FASTOPEN
&true; pour activer TCP Fast Open.
Ajouté dans cURL 7.49.0. Disponible à partir de PHP 7.0.7.
CURLOPT_TFTP_NO_OPTIONS
&true; pour ne pas envoyer les requêtes d'options TFTP.
Ajouté dans cURL 7.48.0. Disponible à partir de PHP 7.0.7.
CURLOPT_TRANSFERTEXT
&true; pour 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, STDOUT ne sera pas
définie en mode binaire.
CURLOPT_UNRESTRICTED_AUTH
&true; pour continuer d'envoyer le nom d'utilisateur et le
mot de passe lorsque l'on suit les chemins (en utilisant
CURLOPT_FOLLOWLOCATION),
même si le nom d'hôte change.
CURLOPT_UPLOAD
&true; pour préparer pour un téléversement.
CURLOPT_VERBOSE
&true; pour afficher les informations de façon verbeuse.
Écrit la sortie sur STDERR, ou dans le fichier
spécifié en utilisant CURLOPT_STDERR.
value devrait être un &integer; 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 &zero; pour attendre indéfiniment.
CURLOPT_CONNECTTIMEOUT_MS
Le nombre de millisecondes à attendre durant la tentative de
connexion. Utiliser &zero; pour 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), ou
CURLFTPAUTH_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é dans
CURLOPT_HTTPHEADER seront utilisés dans les
requêtes à la fois aux serveurs ainsi qu'aux proxies.
Avec cette option activé,
CURLOPT_PROXYHEADER n'aura pas d'effet.
CURLHEADER_SEPARATE : fait que les en-têtes
CURLOPT_HTTPHEADER sont uniquement envoyés aux
serveurs et pas à un proxy. Les en-têtes pour les proxies doivent
être définit avec CURLOPT_PROXYHEADER pour ê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êtes
CURLOPT_PROXYHEADER seulement au proxy et les
en-têtes CURLOPT_HTTPHEADER seulement au serveur.
Par défaut CURLHEADER_SEPARATE à partir de cURL
7.42.1, et CURLHEADER_UNIFIED auparavant.
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),
ou CURL_HTTP_VERSION_1_1 (force HTTP/1.1),
CURL_HTTP_VERSION_2_0 (tente HTTP 2),
CURL_HTTP_VERSION_2 (alias de CURL_HTTP_VERSION_2_0)
,CURL_HTTP_VERSION_2TLS (tente HTTP 2 sur TLS (HTTPS) uniquement) ou
CURL_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 :
CURLAUTH_BASIC,
CURLAUTH_DIGEST,
CURLAUTH_GSSNEGOTIATE,
CURLAUTH_NTLM,
CURLAUTH_ANY et
CURLAUTH_ANYSAFE.
L'opérateur bit à bit | (ou) peut être utilisé
pour combiner plus d'une méthode. Si ceci est fait, cURL interrogera
le serveur pour voir quelles sont les méthodes supportées et prendra
la meilleur.
CURLAUTH_ANY est un alias pour
CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.
CURLAUTH_ANYSAFE est un alias pour
CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.
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_TIME secondes,
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_CLOSEPOLICY
est 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 de 20 est définit pour prévenir
les redirections infinies.
Définir à -1 permet les redirections infinies, et 0
refuse 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_FOLLOWLOCATION est défini et un
type spécifique de redirection se produit.
Ajouté dans cURL 7.19.1.
CURLOPT_PROTOCOLS
Champ de bits de valeurs CURLPROTO_*.
S'il est utilisé, ce champ limite les protocoles qui peuvent être
utilisés durant un transfert. Cela vous permet de limiter le nombre
de protocoles utilisés par la libcurl, tout en la compilant avec
un grand nombre d'entre eux. Par défaut, libcurl va accepter tous
les protocoles qu'elle supporte.
Voir aussi CURLOPT_REDIR_PROTOCOLS.
Les options valides de protocoles sont :
CURLPROTO_HTTP,
CURLPROTO_HTTPS,
CURLPROTO_FTP,
CURLPROTO_FTPS,
CURLPROTO_SCP,
CURLPROTO_SFTP,
CURLPROTO_TELNET,
CURLPROTO_LDAP,
CURLPROTO_LDAPS,
CURLPROTO_DICT,
CURLPROTO_FILE,
CURLPROTO_TFTP,
CURLPROTO_ALL
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, seuls
CURLAUTH_BASIC et
CURLAUTH_NTLM sont 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_SOCKS4A ou
CURLPROXY_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 lorsque
CURLOPT_FOLLOWLOCATION est 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 aussi CURLOPT_PROTOCOLS pour 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 : CURLAUTH_BASIC,
CURLAUTH_GSSAPI,
CURLAUTH_NONE.
L'opérateur bit à bit | (ou) peut être combiné
pour utiliser plus d'une méthode. Si ceci est fait, cURL
interrogera le serveur pour voir quelles méthodes sont prises en
charge et choisir la meilleure.
CURLAUTH_BASIC autorise l'authentification
utilisateur/mot de passe.
CURLAUTH_GSSAPI autorise l'authentification
GSS-API.
CURLAUTH_NONE autorise aucune authentification.
Par défaut CURLAUTH_BASIC|CURLAUTH_GSSAPI.
Définir l'utilisateur actuel et mot de passe avec l'option
CURLOPT_PROXYUSERPWD.
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
2 pour vérifier qu'un champ Common Name field ou
Subject Alternate Name dans le certificat SSL correspond avec le nom d'hôte fourni.
0 pour ne pas vérifier les noms.
1 ne 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 1 supprimé 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) ou
CURL_SSLVERSION_TLSv1_2 (6).
La version TLS maximale peut être définie en utilisant une des
constantes CURL_SSLVERSION_MAX_*. Il est aussi
possible de OU une des constantes CURL_SSLVERSION_*
avec une des constantes CURL_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, ou
CURL_SSLVERSION_MAX_TLSv1_3.
Dans votre intérêt, il est préférable de ne pas définir cette
valeur et utiliser la valeur par défaut. Définir à 2 ou 3 est
très dangereux sachant le nombre de vulnérabilité présentes dans
SSLv2 et SSLv3.
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 à 2 pour vérifier dans le certificats du
proxie HTTPS les champs de nom contre le nom du proxie.
Quand définie à 0 la connexion succède peut
importe des noms utilisés dans le certificat.
Utilisez cette fonctionnalité avec précaution!
1 est traité comme une option de debug dans curl
7.28.0 et antérieur. Entre curl 7.28.1 et 7.65.3
CURLE_BAD_FUNCTION_ARGUMENT est retourné.
À partir de curl 7.66.0 1 et 2
sont 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_3 ou
CURL_SSLVERSION_SSLv3.
Dans votre intérêt, il est préférable de ne pas définir ceci
et de le laisser utiliser la valeur par défaut
CURL_SSLVERSION_DEFAULT qui tentera de
comprendre la version du protocole SSL distant.
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 options CURLOPT_TCP_KEEPIDLE et
CURLOPT_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_KEEPALIVE est
activé. Pas tout les systèmes d'exploitations supportent cette option.
La valeur par défaut est 60.
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_KEEPALIVE est activé.
Pas tout les systèmes d'exploitations supportent cette option.
La valeur par défaut est 60.
Ajouté dans cURL 7.25.0.
CURLOPT_TIMECONDITION
Comment CURLOPT_TIMEVALUE est traité.
Utiliser CURL_TIMECOND_IFMODSINCE pour retourner
la page uniquement si elle a été modifiée depuis le temps spécifié dans
CURLOPT_TIMEVALUE. Si elle n'a pas été modifiée,
un en-tête "304 Not Modified" sera retourné en
supposant que CURLOPT_HEADER vaut &true;.
Utiliser CURL_TIMECOND_IFUNMODSINCE pour faire
l'inverse. Utiliser CURL_TIMECOND_NONE pour
ignorer CURLOPT_TIMEVALUE et toujours
retourner la page. La valeur par défaut est
CURL_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 et CURLOPT_TIMEVALUE
est 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_ANY pour 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éfaut
CURL_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_NOCWD et
CURLFTPMETHOD_SINGLECWD.
Ajouté en cURL 7.15.1.
value doit être une &string; 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 &string;
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é par CURLOPT_COOKIEJAR.
"RELOAD" charge tout les cookies depuis les fichiers
spécifié par CURLOPT_COOKIEFILE.
Disponible à partir de cURL 7.14.1.
CURLOPT_CUSTOMREQUEST
Une méthode de requête qui sera utilisée à la place de "GET"
ou "HEAD" lors des requêtes HTTP. Cette commande est pratique pour
effectuer un "DELETE" ou une autre commande HTTP exotique.
Les valeurs valides sont "GET", "POST",
"CONNECT" et plus ;
i.e. n'entrez pas une requête HTTP complète ici. Par exemple,
entrer "GET /index.html HTTP/1.0\r\n\r\n" serait incorrect.
N'utilisez pas cette commande sans vous assurer que le serveur l'accepte.
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 &string;
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 &string;
Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7.
CURLOPT_EGDSOCKET
Comme CURLOPT_RANDOM_FILE excepté
que vous passez une chaîne qui contient un nom de fichier vers le socket
Entropy 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_SSLKEY ou la clé privée
CURLOPT_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 à &null; revient à 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 &string; peut être le nom de fichier de votre clé publique épinglée.
Le format de fichier attendu est "PEM" ou "DER". La &string; 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ètre value est un tableau,
l'en-tête Content-Type sera définie à
multipart/form-data.
Des fichiers peuvent être envoyé en utilisant
CURLFile ou CURLStringFile, dans quel cas
value doit ê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_PRIVATE de
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 &string; 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_PROXY pour 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 distincte
CURLOPT_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 &string; 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 &string; 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 &string;
peut être le nom de fichier de votre clé publique. Le format de
fichier attendue est "PEM" ou "DER".
La &string; 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'option CURLOPT_PROXY_TLSAUTH_USERNAME
soit 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".
L'authentification Secure Remote Password (SRP) pour TLS fournit
une authentification mutuelle si les deux côté ont un secret
partagé. Pour utiliser TLS-SRP, vous devez aussi définir les
options CURLOPT_PROXY_TLSAUTH_USERNAME et
CURLOPT_PROXY_TLSAUTH_PASSWORD.
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'option CURLOPT_PROXY_TLSAUTH_PASSWORD
soit 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-SHA et TLSv1 sont 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_SSLKEY.
Du fait que cette option contient un mot de passe sensible, souvenez-vous
de conserver le script PHP qui le contient en toute sécurité.
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 &string; 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 &array; 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 &array; de &string; 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 &array; 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 &array; 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 &array; de &string; 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.
The callback is only called when the CURLOPT_NOPROGRESS
option is set to &false;.
Return a non-zero value to abort the transfer. In which case, the
transfer will set a CURLE_ABORTED_BY_CALLBACK
error.
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 fin EOF.
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 value en
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é.
&reftitle.returnvalues;
&return.success;
&reftitle.changelog;
&Version;
&Description;
&curl.changelog.handle-param;
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_LARGE et CURLOPT_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_AGENT et
CURLSSLOPT_NO_REVOKE.
&reftitle.examples;
Initialisation d'une nouvelle session CURL et recherche d'une page Web
]]>
&reftitle.notes;
Le fait de passer un tableau à la constante
CURLOPT_POSTFIELDS encodera les données comme
multipart/form-data, tandis que le fait de passer
une chaîne encodée URL encodera les données comme
application/x-www-form-urlencoded.
&reftitle.seealso;
curl_setopt_array
CURLFile
CURLStringFile