(PHP 4 >= 4.0.2, PHP 5, PHP 7)
curl_setopt — Définit une option de transmission cURL
Définit une option pour le gestionnaire de session cURL fournit.
ch
Un gestionnaire cURL retourné par la fonction 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 |
TRUE pour définir automatiquement le champ
Referer: dans les requêtes où une redirection
Location: suit.
|
|
CURLOPT_BINARYTRANSFER |
TRUE pour retourner les données brutes (données binaires) lorsque
CURLOPT_RETURNTRANSFER est utilisé.
|
À partir de PHP 5.1.3, cette option n'a aucun effet :
l'affichage brute sera toujours retourné lorsque l'option
CURLOPT_RETURNTRANSFER est utilisé.
|
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.
Disponible à partir de PHP 5.3.2.
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. Disponible à partir de PHP 5.5.0. |
CURLOPT_CRLF |
TRUE pour convertir les nouvelles lignes Unix en nouvelles
lignes CRLF durant les transferts.
|
|
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 thréadé
(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érer en utilisant
l'option CURLINFO_FILETIME avec
curl_getinfo().
|
|
CURLOPT_FOLLOWLOCATION |
TRUE pour suivre toutes les en-têtes "Location: "
que le serveur envoie dans les en-têtes HTTP (à noter que ceci
est récursif, PHP suivra tous les en-têtes
"Location: " qui lui sont envoyés à moins que
CURLOPT_MAXREDIRS ne soit définie).
|
|
CURLOPT_FORBID_REUSE |
TRUE pour forcer la connexion à se fermer explicitement lorsque
le processus est terminé et ne sera pas mis en cache pour être
réutilisée.
|
|
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 de 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 petit paquets sur le réseau.
|
Disponible à partir de PHP 5.2.1 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 d'un dossier FTP.
|
|
CURLOPT_HEADER |
TRUE pour inclure l'en-tête dans la valeur de retour.
|
|
CURLINFO_HEADER_OUT |
TRUE pour suivre la chaîne de caractères du gestionnaire de requête.
|
Disponible à partir de PHP 5.1.3.
Le préfixe CURLINFO_ est intentionnel.
|
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é.
|
|
CURLOPT_HTTPPROXYTUNNEL |
TRUE pour passer par un proxy HTTP donné.
|
|
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 |
|
|
CURLOPT_NOSIGNAL |
TRUE pour ignorer toutes les fonctions cURL qui cause l'envoi
d'un signal au processus PHP. Activée par défaut dans les SAPIs
multithreadés afin que les options d'expiration peuvent 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 chaîne de caractères de la
valeur retournée par curl_exec() au lieu
de l'afficher directement.
|
|
CURLOPT_SAFE_UPLOAD |
TRUE désactive le support du préfixe @ pour
l'envoi de fichiers dans CURLOPT_POSTFIELDS ,
ce qui signifie que les valeurs commençant avec @
peuvent être passées comme champs sans danger.
CURLFile peut être utilisé pour les
envois de fichiers à la place.
|
Ajouté dans PHP 5.5.0 avec FALSE comme valeur par défaut.
PHP 5.6.0 modifie la valeur par défaut à TRUE .
PHP 7 supprime cette option ; l'interface CURLFile doit être utilisé
pour téléverser des fichiers.
|
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é 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_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 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_CLOSEPOLICY |
Une des valeurs de CURLCLOSEPOLICY_* .
|
Supprimé en PHP 5.6.0. |
CURLOPT_CONNECTTIMEOUT |
Le nombre de secondes à attendre durant la tentative de connexion. Utiliser 0 pour attendre indéfiniment. | |
CURLOPT_CONNECTTIMEOUT_MS |
Le nombre de millisecondes à attendre durant la tentative de connexion. Utiliser 0 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. Disponible à partir de PHP 5.2.3. |
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_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).
|
|
CURLOPT_HTTPAUTH |
La méthode d'identification HTTP à utiliser. Ces options sont :
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.
|
|
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 .
|
|
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. Disponible à partir de PHP 5.3.2. |
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, 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_SSL_OPTIONS |
Définit les options de comportement SSL, qui est un masque de bits des
constantes suivantes :
CURLSSLOPT_ALLOW_BEAST : n'essayez 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 |
1 pour vérifier l'existence d'un nom commun dans le certificat SSL. 2 pour vérifier l'existence d'un nom commun et vérifier qu'il correspond avec le nom d'hôte fourni. 0 pour ne pas vérifier les noms. En 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).
|
|
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_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. CURL_TIMECOND_IFMODSINCE est par défaut.
|
|
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. Disponible à partir de PHP 5.2.3. |
CURLOPT_TIMEVALUE |
Le temps en secondes depuis le 1er janvier 1970. Le temps sera
utilisée par CURLOPT_TIMECONDITION .
Par défaut, CURL_TIMECOND_IFMODSINCE
sera utilisée.
|
|
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. Disponible à partir de PHP 5.4.0. |
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. Disponible à partir de PHP 5.4.0. |
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. Disponible à partir de PHP 5.3.0. |
value
doit être une chaîne de caractères pour les
valeurs suivantes du paramètres option
:
Option | Définir value à |
Notes |
---|---|---|
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_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.
|
|
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 dont 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 dont 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 dont 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_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 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.
Pour envoyer un fichier, préfixez le nom du fichier avec un
@ et utilisez le chemin complet. Le type
de fichier peut être explicitement spécifié en faisant
suivre le nom du fichier par le type au format
';type=mimetype'.
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.
Depuis PHP 5.2.0, value doit être un tableau
si les fichiers sont passés à cette option avec le préfixe
@.
Depuis PHP 5.5.0, le préfixe @ est obsolète
et les fichiers peuvent être envoyés en utilisant
CURLFile. Le préfixe @
peut être désactivé, pour passer sans danger des valeurs commençant
par @, en définissant l'option
CURLOPT_SAFE_UPLOAD à TRUE .
|
|
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 multi-descripteur 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_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_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". | 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_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. Disponible à partir de PHP 5.5.0. |
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. Disponible à partir de PHP 5.5.0. |
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 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é. |
Cette fonction retourne TRUE
en cas de succès ou FALSE
si une erreur survient.
Version | Description |
---|---|
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 .
|
7.0.0 |
Le support pour désactiver l'option CURLOPT_SAFE_UPLOAD
a été supprimée.
Tous les téléversements de fichiers doivent utiliser CURLFile.
|
5.6.0 |
CURLOPT_SAFE_UPLOAD vaut maintenant TRUE
par défaut.
|
5.6.0 |
Suppression de CURLOPT_CLOSEPOLICY et
des valeurs associées.
|
5.5.0 |
Ajoute la ressource cURL comme premier argument à la fonction
de rappel CURLOPT_PROGRESSFUNCTION .
|
5.5.0 |
Introduit CURLOPT_SHARE .
|
5.3.0 |
Introduit CURLOPT_PROGRESSFUNCTION .
|
5.2.10 |
Introduit CURLOPT_PROTOCOLS et
CURLOPT_REDIR_PROTOCOLS .
|
5.2.4 |
Introduit CURLOPT_PRIVATE .
|
5.1.0 |
Introduit CURLOPT_AUTOREFERER ,
CURLOPT_BINARYTRANSFER ,
CURLOPT_FTPSSLAUTH ,
CURLOPT_PROXYAUTH et
CURLOPT_TIMECONDITION .
|
5.0.0 |
Introduit CURLOPT_FTP_USE_EPRT ,
CURLOPT_NOSIGNAL ,
CURLOPT_UNRESTRICTED_AUTH ,
CURLOPT_BUFFERSIZE ,
CURLOPT_HTTPAUTH ,
CURLOPT_PROXYPORT ,
CURLOPT_PROXYTYPE ,
CURLOPT_SSLCERTTYPE , et
CURLOPT_HTTP200ALIASES .
|
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);
?>
Exemple #2 Télécharger un fichier sur un serveur (obsolète à partir de PHP 5.5.0)
<?php
/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); // requis à partir de PHP 5.6.0
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?>
L'exemple ci-dessus va afficher :
Array ( [name] => Foo ) Array ( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279 ) )
Note:
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.