(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — Définit une option de transmission cURL
curl_setopt() définit l'option de transfert cURL
option
, avec la valeur value
pour la requête ch
.
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ètre option
:
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) lorsque
CURLOPT_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.
|
Disponible depuis PHP 5.3.2. Requière CURLOPT_VERBOSE d'être activé.
|
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 silencieusement 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'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 (notez que cette fonction
est récursive et que PHP suivra toutes les en-têtes
"Location: " qu'il trouvera à 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 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.
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é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_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 valeur FALSE ne modifie pas la méthode 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 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-from-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 options
CURLOPT_INFILE et CURLOPT_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_SSL_VERIFYPEER |
FALSE pour arrêter CURL de vérifier le certificat.
Les certificats alternatifs peuvent être spécifiés avec l'option
CURLOPT_CAINFO (ajouté dans CURL 7.9.8) ou
un répertoire de certificat peut être spécifié avec l'option
CURLOPT_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 utilisant CURLOPT_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 utilisant
CURLOPT_STDERR .
|
value
doit être un integer pour les valeurs suivantes
du paramètres option
:
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 |
Soit CURLCLOSEPOLICY_LEAST_RECENTLY_USED , soit
CURLCLOSEPOLICY_OLDEST .
Il y a trois autres constantes CURLCLOSEPOLICY_
mais CURL ne les supporte pas encore.
|
|
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 à entendre 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),
ou CURL_HTTP_VERSION_1_1 (force HTTP/1.1).
|
|
CURLOPT_HTTPAUTH |
La méthode d'identification HTTP à utiliser. Ces options sont :
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.
|
|
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_PROTOCOLS |
Champ de bits de valeurs
Les options valides de protocoles sont :
|
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, 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 l'option CURLOPT_PROXY .
|
|
CURLOPT_PROXYTYPE |
Soit CURLPROXY_HTTP (par défaut), soit
CURLPROXY_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 lorsque CURLOPT_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 aussi
CURLOPT_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 |
La version de SSL (2 ou 3) à utiliser. Par défaut, PHP essayera de le déterminer lui-même, bien que dans certains cas, il vous faudra le faire manuellement. | |
CURLOPT_TIMECONDITION |
Comment CURLOPT_TIMEVALUE
est traité. Utilisez CURL_TIMECOND_IFMODSINCE
pour retourner la page uniquement si elle a été modifiée depuis le temps spécifié
par CURLOPT_TIMEVALUE . Si elle n'a pas été modifiée,
un en-tête HTTP "304 Not Modified" sera retourné en
supposant que CURLOPT_HEADER vaut TRUE .
Utilisez 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. | |
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 constante
CURLSSH_AUTH_ANY pour laisser libcurl
en choisir une pour vous.
|
Ajouté en cURL 7.16.1. |
value
doit être une chaîne pour les valeurs suivantes
du paramètres option
:
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 ici. Pour le moment, entrez "GET /index.html HTTP/1.0\r\n\r\n" serait incorrect.
|
|
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 POST 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_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
@.
|
|
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_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ètres option
:
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è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 une chaîne de caractères
qui sera un nom valide de fonction de rappel pour les valeurs suivantes
du paramètre option
:
Option | Définissez le paramètre value à |
---|---|
CURLOPT_HEADERFUNCTION |
Le nom d'une fonction de rappel qui prend deux paramètres. Le premier est la ressource CURL, le second, une chaîne contenant les données de l'en-tête à écrire. En utilisant cette fonction de rappel, il est de votre responsabilité de l'écriture des données de l'en-tête. Retourne le nombre d'octets écrits. |
CURLOPT_PASSWDFUNCTION |
Le nom d'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 |
Le nom de la fonction de rappel lorsque la fonction de rappel prend 3 paramètres. Le premier est la ressource cURL, le second est la ressource de description de fichier, et le troisième, est la longueur. Retourne la chaîne de caractères contenant les données. |
CURLOPT_READFUNCTION |
Le nom d'une fonction de rappel où la fonction de rappel 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 |
Le nom d'une fonction de rappel où la fonction de rappel 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. |
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Version | Description |
---|---|
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 .
|
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 ) )
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.