curl_setopt
(PHP 4 >= 4.0.2, PHP 5, PHP 7)
curl_setopt — Définit une option de transmission cURL
Description
curl_setopt() définit l'option de transfert cURL
option
, avec la valeur value
pour la requête ch
.
Liste de paramètres
-
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 pour les valeurs suivantes du paramètreoption
:Option Définissez le paramètre value
àNotes CURLOPT_AUTOREFERER
TRUE
pour spécifier 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) lorsqueCURLOPT_RETURNTRANSFER
est utilisé.Depuis 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 depuis PHP 5.3.2. Requiert 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 depuis PHP 5.5.0. CURLOPT_CRLF
TRUE
pour convertir les nouvelles lignes Unix en nouvelles lignes CRLF pendant le transfert.CURLOPT_DNS_USE_GLOBAL_CACHE
TRUE
pour utiliser un cache DNS global. Cette option n'est pas compatible avec les threads et est activée par défaut.CURLOPT_FAILONERROR
TRUE
pour que PHP traite, avec des traces, les codes HTTP supérieurs ou égaux à 400. Le comportement par défaut est de retourner la page normalement, en ignorant ce code.CURLOPT_FILETIME
TRUE
pour tenter de récupérer la date de modification du document distant. Vous pouvez également retrouver cette valeur en utilisant l'optionCURLINFO_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 (notez que cette fonction est récursive et que PHP suivra toutes les en-têtes "Location: " qu'il trouvera à moins queCURLOPT_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 mise en cache pour être réutilisée.CURLOPT_FRESH_CONNECT
TRUE
pour forcer à utiliser une nouvelle connexion au lieu de celle en cache.CURLOPT_FTP_USE_EPRT
TRUE
pour utiliser EPRT (et LPRT) lors de l'activation des téléchargements FTP. UtilisezFALSE
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éfinissez cette option à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
Spécifie si l'option TCP_NODELAY doit être définie ou non (1 = défini, 0 = non défini). L'option vaut 0 par défaut. Disponible depuis 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 requête handle.Disponible depuis PHP 5.1.3. Le préfixe CURLINFO_
est intentionnel.CURLOPT_HTTPGET
TRUE
pour réinitialiser la méthode de requête HTTP à GET. Sachant que GET est la valeur par défaut, cela n'est uniquement nécessaire que si la méthode de requête a été changée.CURLOPT_HTTPPROXYTUNNEL
TRUE
pour effectuer un tunnel à travers un proxy HTTP.CURLOPT_MUTE
TRUE
pour que PHP soit totalement silencieux concernant toutes les fonctions cURL.Supprimé en cURL 7.15.5 (Vous pouvez utiliser CURLOPT_RETURNTRANSFER à la place) CURLOPT_NETRC
TRUE
pour que PHP analyse votre fichier ~./netrc et utilise votre nom de compte et mot de passe sur le site distant que vous souhaitez contacter.CURLOPT_NOBODY
TRUE
pour que le corps du transfert ne soit pas inclus dans la valeur de retour. La méthode de demande est définie à HEAD. Le fait de modifier cette option à la valeurFALSE
ne modifie pas la méthode GET.CURLOPT_NOPROGRESS
TRUE
pour désactiver la barre de progression des transferts cURL.Note:
PHP définit automatiquement cette option à
TRUE
. Ne changez cette valeur que le temps du déboguage.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 SAPI multithreadés, les options d'expiration peut toujours être utilisées.Ajouté dans cURL 7.10. CURLOPT_POST
TRUE
pour que PHP fasse un HTTP POST. Un POST est un encodage normal application/x-www-form-urlencoded, utilisé couramment par les formulaires HTML.CURLOPT_PUT
TRUE
pour que le chargement se fasse par HTTP PUT. Le fichier à charger doit être fixé avec les optionsCURLOPT_INFILE
etCURLOPT_INFILESIZE
.CURLOPT_RETURNTRANSFER
TRUE
retourne directement le transfert sous forme de chaîne 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 dansCURLOPT_POSTFIELDS
, ce qui signifie que les valeurs commençant avec @ peuvent être passées comme paramètres sans danger. CURLFile devrait être utilisé pour les envois de fichiers.Ajouté dans PHP 5.5.0 avec comme valeur par défaut, FALSE
. PHP 5.6.0 modifie la valeur par défaut àTRUE
.CURLOPT_SSL_VERIFYPEER
FALSE
pour arrêter CURL de vérifier le certificat. Les certificats alternatifs peuvent être spécifiés avec l'optionCURLOPT_CAINFO
(ajouté dans CURL 7.9.8) ou un répertoire de certificat peut être spécifié avec l'optionCURLOPT_CAPATH
.TRUE
par défaut depuis cURL 7.10. Paquet installé par défaut depuis cURL 7.10.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 garder l'envoi du nom de l'utilisateur ainsi que le mot de passe lorsque l'on suit les chemins (en utilisantCURLOPT_FOLLOWLOCATION
), même si le nom d'hôte change.CURLOPT_UPLOAD
TRUE
pour que PHP prépare un chargement.CURLOPT_VERBOSE
TRUE
pour afficher tous les événements. Écrit la sortie sur STDERR ou dans le fichier spécifié en utilisantCURLOPT_STDERR
.value
doit être un integer pour les valeurs suivantes du paramètresoption
:Option Définissez le paramètre value
àNotes CURLOPT_BUFFERSIZE
La taille du buffer à 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_*
.Note:
Cette option est obsolète, sachant qu'elle n'a jamais été implémenté en cURL, et n'a jamais eu aucun effet.
Supprimé en PHP 5.6.0. CURLOPT_CONNECTTIMEOUT
Le nombre de secondes à attendre durant la tentative de connexion. Utilisez 0 pour attendre indéfiniment. CURLOPT_CONNECTTIMEOUT_MS
Le nombre de millisecondes à attendre durant la tentative de connexion. Utilisez 0 pour attendre indéfiniment. Si libcurl est construit 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 depuis PHP 5.2.3. CURLOPT_DNS_CACHE_TIMEOUT
Le temps en seconde que CURL doit conserver les entrées DNS en mémoire. Cette option est définie à 120 secondes (2 minutes) par défaut. CURLOPT_FTPSSLAUTH
La méthode d'identification FTP, lorsqu'elle est activée : CURLFTPAUTH_SSL (tente SSL en premier), CURLFTPAUTH_TLS (tente TLS en premier) ou CURLFTPAUTH_DEFAULT (laisse cURL décider). Ajouté en cURL 7.12.2. 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).CURLOPT_HTTPAUTH
La méthode d'identification HTTP à utiliser. Ces options sont :
CURLAUTH_BASIC
,CURLAUTH_DIGEST
,CURLAUTH_GSSNEGOTIATE
,CURLAUTH_NTLM
,CURLAUTH_ANY
etCURLAUTH_ANYSAFE
.Vous pouvez utiliser le séparateur | ou un opérateur pour combiner plus d'une méthode. Si vous faites cela, 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échargement d'un fichier depuis un site distant. Notez que l'utilisation de cette option n'arrêtera pas libcurl d'envoyer de 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 minimale 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, l'option CURLOPT_CLOSEPOLICY
est utilisé pour afficher les connexions fermées.CURLOPT_MAXREDIRS
Le nombre maximal de redirections HTTP à suivre. Utilisez cette option avec l'option CURLOPT_FOLLOWLOCATION
.CURLOPT_PORT
Le numéro du port de connexion, à la place de la valeur par défaut utilisée par le protocole. CURLOPT_POSTREDIR
Un masque de valeur de 1 (301 Moved Permanently), 2 (302 Found) and 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 depuis PHP 5.3.2. 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. Voyez aussiCURLOPT_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'identification 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_BASIC
etCURLAUTH_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 l'option CURLOPT_PROXY
.CURLOPT_PROXYTYPE
Soit CURLPROXY_HTTP
(par défaut), soitCURLPROXY_SOCKS5
.Ajouté en cURL 7.10. CURLOPT_REDIR_PROTOCOLS
Champ de bits de constantes CURLPROTO_*
. S'il est utilisé, ce champ limite les protocoles que libcurl peut utiliser pour un transfert, après une redirection lorsqueCURLOPT_FOLLOWLOCATION
est actif. Cela permet de spécifier une sous-partie des protocoles compilés avec libcurl. Par défaut, libcurl va autoriser tous les protocoles, hormis FILE et SCP. C'est une différence importante avec les versions précédents la 7.19.4, qui suivaient inconditionnellement tous les protocoles supportés. Voyez aussiCURLOPT_PROTOCOLS
pour connaître la liste des valeurs des constantes.Ajoutés en cURL 7.19.4. CURLOPT_RESUME_FROM
L'offset, en octets, à partir duquel vous voulez commencer le transfert. 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. 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) orCURL_SSLVERSION_TLSv1_2
(6).Note:
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_TIMECONDITION
Comment CURLOPT_TIMEVALUE
est traité. UtilisezCURL_TIMECOND_IFMODSINCE
pour retourner la page uniquement si elle a été modifiée depuis le temps spécifié parCURLOPT_TIMEVALUE
. Si elle n'a pas été modifiée, un en-tête HTTP "304 Not Modified" sera retourné en supposant queCURLOPT_HEADER
vautTRUE
. UtilisezCURL_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 construit 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 depuis PHP 5.2.3. CURLOPT_TIMEVALUE
Le temps en secondes depuis le 1er janvier 1970. Cette valeur sera utilisée comme spécifié dans l'option CURLOPT_TIMECONDITION
. Par défaut,CURL_TIMECOND_IFMODSINCE
sera utilisée.CURLOPT_MAX_RECV_SPEED_LARGE
Si un téléchargement en réception 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 depuis PHP 5.4.0. CURLOPT_MAX_SEND_SPEED_LARGE
Si un téléchargement en émission 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 depuis PHP 5.4.0. CURLOPT_SSH_AUTH_TYPES
Un masque constitué d'une ou plusieurs constantes suivantes : CURLSSH_AUTH_PUBLICKEY
,CURLSSH_AUTH_PASSWORD
,CURLSSH_AUTH_HOST
,CURLSSH_AUTH_KEYBOARD
. Utilisez la constanteCURLSSH_AUTH_ANY
pour laisser libcurl en choisir une pour vous.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, vautCURL_IPRESOLVE_WHATEVER
.Ajouté en cURL 7.10.8. value
doit être une chaîne pour les valeurs suivantes du paramètresoption
:Option Définissez le paramètre 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
.Nécessite 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.
Note:
N'utilisez pas cette commande sans vous assurer que le serveur l'accepte.
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é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 à NULL
revient à désactiver la sécurité KRB4. Actuellement, la sécurité KRB4 fonctionne uniquement avec les transaction FTP.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'optionCURLOPT_SAFE_UPLOAD
àTRUE
.CURLOPT_PROXY
Le nom du proxy HTTP au tunnel qui le demande. 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_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_SSLKEY
.Note:
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_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_USERPWD
Un nom d'utilisateur et un mot de passe formatés sous la forme "[username]:[password]" à utiliser pour la connexion. value
doit être un tableau pour les valeurs suivantes du paramètresoption
:Option Définissez le paramètre value
àNotes 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_QUOTE
Un tableau de commandes FTP à exécuter sur le serveur avant la requête FTP. value
doit être une ressource (utilisant fopen(), par exemple) pour les valeurs suivantes du paramètreoption
: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ètresoption
:Option Définissez le paramètre 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.
Note:
The callback is only called when the
CURLOPT_NOPROGRESS
option is set toFALSE
.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
enCURLOPT_SHARE
Un résultat de la fonction curl_share_init(). Fait que le gestionnaire cURL va utiliser les données depuis le gestionnaire partagé.
Historique
Version | Description |
---|---|
5.6.0 |
CURL_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 |
Introduction de la constante CURLOPT_SHARE .
|
5.3.0 |
Introduction de la constante CURLOPT_PROGRESSFUNCTION .
|
5.2.10 |
Ajout de CURLOPT_PROTOCOLS et
CURLOPT_REDIR_PROTOCOLS .
|
5.1.0 |
Ajout de CURLOPT_AUTOREFERER ,
CURLOPT_BINARYTRANSFER ,
CURLOPT_FTPSSLAUTH ,
CURLOPT_PROXYAUTH et
CURLOPT_TIMECONDITION .
|
5.0.0 |
Ajout de CURLOPT_FTP_USE_EPRT ,
CURLOPT_NOSIGNAL ,
CURLOPT_UNRESTRICTED_AUTH ,
CURLOPT_BUFFERSIZE ,
CURLOPT_HTTPAUTH ,
CURLOPT_PROXYPORT ,
CURLOPT_PROXYTYPE ,
CURLOPT_SSLCERTTYPE et
CURLOPT_HTTP200ALIASES .
|
Exemples
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
<?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_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 ) )
Notes
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.
Version en cache
23/12/2024 11:11:09 Cette version de la page est en cache (à la date du 23/12/2024 11:11:09) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-curl-setopt.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.