(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
curl_setopt — Définit une option de transmission cURL
Définit une option pour le gestionnaire de session cURL fournit.
handle
Un gestionnaire cURL retourné par curl_init().
option
L'option CURLOPT_XXX
à définir.
value
La valeur à définir pour option
.
value
doit être un booléen pour les valeurs suivantes du paramètre option
:
Option | Définir value à | Notes |
---|---|---|
CURLOPT_AUTOREFERER | 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 chaîne de caractères du gestionnaire de requête. | Le préfixe CURLINFO_ est intentionnel. |
CURLOPT_HTTP09_ALLOWED | Si on doit ou non autoriser les réponses HTTP/0.9. Par défaut, vaut 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 |
| |
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 chaîne de caractères 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 entier pour les valeurs suivantes du paramètres option
:
Option | Définir value à | Notes | |
---|---|---|---|
CURLOPT_BUFFERSIZE | La taille du tampon à utiliser pour chaque lecture. Cependant, il n'y a aucune garantie que cette requête soit accomplie. | Ajouté en cURL 7.10. | |
CURLOPT_CONNECTTIMEOUT | Le nombre de secondes à attendre durant la tentative de connexion. Utiliser 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. | |
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 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 : L'opérateur bit à bit
| ||
CURLOPT_INFILESIZE | La taille attendue, en octets, du fichier lors du téléversemement d'un fichier vers un site distant. Notez que l'utilisation de cette option n'arrêtera pas libcurl d'envoyer plus de données, de la même façon que ce qui est envoyé dépend de l'option CURLOPT_READFUNCTION . | ||
CURLOPT_LOW_SPEED_LIMIT | La vitesse de transfert, en octets par secondes en dessous de laquelle, et pendant CURLOPT_LOW_SPEED_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_MAIL_RCPT_ALLLOWFAILS | Autorise l'échec de la commande RCPT TO pour certains destinataires. | Lors de l'envoi de données à plusieurs destinataires, cURL interrompt la conversation SMTP par défaut si au moins l'un des destinataires provoque une erreur avec la commande RCPT TO. Cette option indique à cURL d'ignorer les erreurs et de continuer avec les destinataires valides restants. Si tous les destinataires génèrent des échecs RCPT TO et que ce drapeau est activé, cURL interrompra la conversation SMTP et renverra l'erreur reçue de la dernière commande RCPT TO. | |
CURLOPT_MAXAGE_CONN | Le temps d'inactivité maximal autorisé pour qu'une connexion existante soit considérée comme réutilisable. La durée maximale par défaut est de 118 secondes. | ||
CURLOPT_MAXFILESIZE_LARGE | La taille maximale du fichier en octets autorisée à télécharger. Si la taille du fichier demandé est supérieure à cette valeur, le transfert ne commencera pas et CURLE_FILESIZE_EXCEEDED sera renvoyé. La taille du fichier n'est pas toujours connue avant le téléchargement, et pour de tels fichiers, cette option n'a aucun effet, même si le transfert de fichier finit par être plus grand que cette limite donnée. | ||
CURLOPT_MAXLIFETIME_CONN | Le temps maximal en secondes, depuis la création de la connexion, qui est autorisé pour qu'une connexion existante soit considérée pour être réutilisable. Si une connexion est trouvée dans la mémoire cache et est plus ancienne que cette valeur, elle sera fermée une fois que tous les transferts en cours seront terminés. La valeur par défaut est de 0 seconde, ce qui signifie que l'option est désactivée et que toutes les connexions sont éligibles pour être réutilisées. | ||
CURLOPT_MAXCONNECTS | Le nombre maximal de connexions persistantes autorisées. Lorsque la limite est atteinte, la plus ancienne dans le cache est fermée pour éviter d'augmenter le nombre de connexions ouvertes. | ||
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 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_SOCKS5_AUTH | Les méthode(s) d'authentification SOCKS5 à utiliser. Les options sont : L'opérateur bit à bit
Par défaut | Disponible à partir de PHP 7.3.0 et curl >= 7.55.0. | |
CURLOPT_SSL_OPTIONS | Définit les options de comportement SSL, qui est un masque de bits des constantes suivantes : CURLSSLOPT_ALLOW_BEAST : n'essaye pas d'utiliser des solutions de contournement pour une faille de sécurité dans les protocoles SSL3 et TLS1.0. CURLSSLOPT_NO_REVOKE : désactiver les vérifications de révocation de certificats pour les serveurs SSL où un tel comportement est présent. CURLSSLOPT_AUTO_CLIENT_CERT : localisation automatique et utilisation d'un certificat client pour l'authentification, lorsque demandé par le serveur. Cette option est uniquement prise en charge pour Schannel (la bibliothèque SSL native de Windows). CURLSSLOPT_NATIVE_CA : utilisation du magasin de certificats natif du système d'exploitation pour la vérification des certificats. Fonctionne uniquement sous Windows lorsqu'il est construit pour utiliser OpenSSL. Cette option est expérimentale et son comportement est susceptible de changer. CURLSSLOPT_NO_PARTIALCHAIN : ne pas accepter les chaînes de certificats "partielles", que cURL accepte par défaut. Cette option est uniquement prise en charge pour OpenSSL et échouera la vérification du certificat si la chaîne se termine par un certificat intermédiaire et non par un certificat racine. CURLSSLOPT_REVOKE_BEST_EFFORT : ignorer les vérifications de révocation de certificat en cas d'absence ou d'indisponibilité des points de distribution pour les bibliothèques SSL où un tel comportement est présent. Cette option est uniquement prise en charge pour Schannel (la bibliothèque SSL native de Windows). Si elle est combinée avec CURLSSLOPT_NO_REVOKE , cette dernière prévaut. | 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) ou CURL_SSLVERSION_TLSv1_3 (7). 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 .
| ||
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 .
| 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_UPKEEP_INTERVAL_MS | Certains protocoles disposent de mécanismes de "maintenance de connexion". Ces mécanismes envoient généralement du trafic sur des connexions existantes pour les maintenir actives. Cette option définit l'intervalle de maintenance de la connexion. Actuellement, le seul protocole avec un mécanisme de maintenance de la connexion est HTTP/2. Lorsque l'intervalle de maintenance de la connexion est dépassé, une trame PING HTTP/2 est envoyée sur la connexion. La valeur par défaut est de 60 secondes. | ||
CURLOPT_UPLOAD_BUFFERSIZE | Taille de mémoire tampon préférée en octets pour la mémoire tampon d'envoi cURL. La taille de la mémoire tampon d'envoi est par défaut de 64 kilooctets. La taille maximale de mémoire tampon autorisée est de 2 mégaoctets. La taille minimale de mémoire tampon autorisée est de 16 kilooctets. | ||
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_DEFAULT , CURLFTPMETHOD_MULTICWD , CURLFTPMETHOD_NOCWD , et CURLFTPMETHOD_SINGLECWD . | Ajouté en cURL 7.15.1. |
value
doit être une chaîne de caractères pour les valeurs suivantes du paramètres option
:
Option | Définir value à | Notes |
---|---|---|
CURLOPT_ABSTRACT_UNIX_SOCKET | Active l'usage d'un socket domaine Unix abstrait au lieu d'établir une connexion TCP à un hôte et définie le chemin à la chaîne de caractères fournie. Cette option partage les mêmes sémantiques que CURLOPT_UNIX_SOCKET_PATH . Ces deux options partagent le même stockage et doc seul un des deux peut être définie par gestionnaire. | Disponible à partir de PHP 7.3.0 et cURL 7.53.0 |
CURLOPT_ALTSVC | Indique au fichier que cURL doit utiliser comme cache Alt-Svc pour lire le contenu du cache existant et, éventuellement, pour le réécrire après un transfert, sauf si CURLALTSVC_READONLYFILE est activé via CURLOPT_ALTSVC_CTRL . | |
CURLOPT_ALTSVC_CTRL | Remplit le jeu de bits avec le bon ensemble de fonctionnalités pour indiquer à cURL comment gérer Alt-Svc pour les transferts effectués avec cette poignée. cURL n'accepte que les en-têtes Alt-Svc sur HTTPS. Il achèvera également une requête vers une origine alternative uniquement si cette origine est correctement hébergée sur HTTPS. Le réglage de n'importe quel bit activera le moteur alt-svc. Les options sont : CURLALTSVC_H1 , CURLALTSVC_H2 , CURLALTSVC_H3 , et CURLALTSVC_READONLYFILE . | |
CURLOPT_AWS_SIGV4 | Fournit une authentification de signature AWS V4 dans l'en-tête HTTP(S). Cette option remplace tout autre type d'authentification qui a été défini dans | |
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_CAINFO_BLOB | Le nom d'un fichier PEM contenant un ou plusieurs certificats pour vérifier le pair. Cette option remplace CURLOPT_CAINFO . | Disponible à partir de PHP 8.2.0 et cURL 7.77.0 |
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
| |
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_HSTS | Nom du fichier de cache HSTS (HTTP Strict Transport Security). | |
CURLOPT_HSTS_CTRL | Contrôle le comportement HSTS (HTTP Strict Transport Security). Remplit le jeu de bits avec le bon ensemble de fonctionnalités pour indiquer à cURL comment gérer HSTS pour les transferts effectués avec cette poignée. | |
CURLOPT_DNS_INTERFACE | Définit le nom de l'interface réseau à laquelle le résolveur DNS doit se lier. Ceci doit être un nom d'interface (pas une adresse). | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. |
CURLOPT_DNS_LOCAL_IP4 | Définit l'adresse IPv4 locale à laquelle le résolveur DNS doit se lier. L'argument devrait contenir une seule adresse numérique IPv4 sous chaîne de caractères | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. |
CURLOPT_DNS_LOCAL_IP6 | Définit l'adresse IPv6 locale à laquelle le résolveur DNS doit se lier. L'argument devrait contenir une seule adresse numérique IPv6 sous chaîne de caractères | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. |
CURLOPT_EGDSOCKET | Comme CURLOPT_RANDOM_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. 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 chaîne de caractères contenant le nom d'hôte ou addresse OP sous notation décimale à point à utiliser en tant que pré-proxy que curl se connecte avant qu'il se connecte au proxy HTTP(S) spécifié dans l'option CURLOPT_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.43.0 pour les proxys HTTP et en cURL 7.49.0 pour les proxys SOCK5. Disponible à partir de PHP 7.0.7. |
CURLOPT_PROXY_CAINFO | Le chemin vers le bundle d'autorité de certification (CA) du proxy. Définir le chemin en tant que chaîne de caractères nomant un fichier tenant un ou plusieurs certificats pour vérifier le proxy HTTPS avec. Cette option est pour se connecter à un proxy HTTPS, pas un serveur HTTPS. Par défaut définit au chemin système où le bundle cacert de libcurl est supposé être stocké. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_CAINFO_BLOB | Le nom d'un fichier PEM contenant un ou plusieurs certificats pour vérifier le proxy HTTPS. Cette option est destinée à la connexion à un proxy HTTPS, et non à un serveur HTTPS. La valeur par défaut est définie sur le chemin système où le paquet de certificats cacert de libcurl est supposé être stocké. | Disponible à partir de PHP 8.2.0 et libcurl >= cURL 7.77.0. |
CURLOPT_PROXY_CAPATH | Le dossier tenant plusieurs certificats CA pour vérifier le proxy HTTPS avec. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_CRLFILE | Définie le nom de fichier avec la concatenation de CRL (Certificate Revocation List) en format PEM pour utiliser lors de la validation de certificat qui se produit lors de l'échange SSL. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_KEYPASSWD | Définie la chaîne de caractères a utiliser comme mot de passe nécessaire pour uriliser la clé privée CURLOPT_PROXY_SSLKEY . Vous n'avez jamais besoin d'une passphrase pour charger un certificat mais vous en avez besoin d'un pour charger votre clé privée. Cette option est pour se connecter à un proxy HTTPS, et non un serveur HTTPS. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_PINNEDPUBLICKEY | Définie la clé pubique éplinglé pour le proxy HTTPS. La chaîne de caractères peut être le nom de fichier de votre clé publique. Le format de fichier attendue est "PEM" ou "DER". La chaîne de caractères peut également être un nombre quelconque de hachages sha256 encodés en base64 précédés de "sha256//" et séparé de ";" | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_SSLCERT | Le nom de fichier de votre certificat client utilisé pour se connecter au proxy HTTPS. Le format par défaut est "P12" sur Secure Transport et "PEM" sur les autres moteurs, et peut être modifié avec CURLOPT_PROXY_SSLCERTTYPE . Avec NSS ou Secure Transport, ceci peut être le surnom du certificat avec lequel vous souhaitez vous authentifier avec tel qu'il est nommée dans la base de donnée sécurité. Si vous voulez utiliser un fichier du dossier courrent, veuillez le précédez avec le préfix "./", de l'ordre à éviter une confusion avec le surnom. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_SSLCERTTYPE | Le format de vos certificats client utilisé lors de la connexion à un proxy HTTPS. Les formats supporté sont "PEM" et "DER", sauf avec Secure Transport. OpenSSL (version 0.9.3 et ultérieur) et Secure Transport (sur iOS 5 ou ultérieur, ou OS X 10.7 ou ultérieur) supportent aussi les fichier encodé PKCS#12. Par défaut "PEM". | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_SSL_CIPHER_LIST | La liste des suites de chiffrement à utiliser pour la connexion au proxy HTTPS. La liste doit être syntaxiquement correcte, elle consiste de une ou plusieurs suites de chiffrement séparé par des deux-points. Les virgules ou espaces sont aussi des séparateurs acceptable mais les deux-points sont normalement utilisé, !, - et + peuvent être utilisé comme des opérations. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_TLS13_CIPHERS | La liste des suites de chiffrement à utiliser pour la connexion TLS 1.3 à un proxy. La liste doit être syntaxiquement correcte, elle consiste de une ou plusieurs suites de chiffrement séparé par des deux-points. Cette option est actuellement seulement utilisé quand curl est compilé pour utiliser OpenSSL 1.1.1 ou ultérieur. Si vous utilisé un backend SSL différent vous pouvez essayer de définir les suites de chiffrement TLS 1.3 en utilisant l'option CURLOPT_PROXY_SSL_CIPHER_LIST . | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.61.0. Disponible si compilé avec OpenSSL >= 1.1.1. |
CURLOPT_PROXY_SSLKEY | Le nom de fichier de votre clé privé utilisé pour se connecter au proxy HTTPS. Le format par défaut est "PEM" et peut être modifié avec CURLOPT_PROXY_SSLKEYTYPE . (iOS et Mac OS X uniquement) Cette option est ignoré si curl est compilé contre Secure Transport. | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. Disponible si TLS est activé. |
CURLOPT_PROXY_SSLKEYTYPE | Le format de votre clé privée. Format supporté sont "PEM", "DER" et "ENG". | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.52.0. |
CURLOPT_PROXY_TLSAUTH_PASSWORD | Le mot de passe à utiliser pour la méthode d'authentification TLS spécifié avec l'option CURLOPT_PROXY_TLSAUTH_TYPE . Nécessite que l'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".
| 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_SASL_AUTHZID | L'identité d'autorisation (authzid) pour le transfert. Applicable uniquement au mécanisme d'authentification SASL PLAIN où elle est facultative. Lorsqu'elle n'est pas spécifiée, seule l'identité d'authentification (authcid) telle que spécifiée par le nom d'utilisateur sera envoyée au serveur, accompagnée du mot de passe. Le serveur déduira l'authzid de l'authcid lorsqu'il n'est pas fourni, qu'il utilisera ensuite en interne. | |
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_HOST_PUBLIC_KEY_SHA256 | Hachage SHA256 encodé en Base64 de la clé publique de l'hôte distant. Le transfert échouera si le hachage fourni ne correspond pas au hachage fourni par l'hôte distant. | |
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_SSL_EC_CURVES | Une liste de courbes elliptiques délimitées par des deux-points. Par exemple, X25519:P-521 est une liste valide de deux courbes elliptiques. Cette option définit les algorithmes d'échange de clés du client dans la poignée SSL, si le backend SSL utilisé par cURL le prend en charge. | |
CURLOPT_SSLCERT | Le nom de fichier du certificat, au format PEM. | |
CURLOPT_SSLCERTPASSWD | Le mot de passe nécessaire pour utiliser le certificat CURLOPT_SSLCERT . | |
CURLOPT_SSLCERTTYPE | Le format de votre certificat. Les formats supportés sont "PEM" (par défaut), "DER" , et "ENG" . À partir de OpenSSL 0.9.3, "P12" (pour fichiers encodé PKCS#12) et aussi supporté. | Ajouté en cURL 7.9.3. |
CURLOPT_SSLENGINE | L'identifiant pour le moteur de chiffrement de votre clé privée spécifié dans CURLOPT_SSLKEY . | |
CURLOPT_SSLENGINE_DEFAULT | L'identifiant pour le moteur de chiffrement utilisé pour les opérations de chiffrement asymétrique. | |
CURLOPT_SSLKEY | Un nom de fichier contenant votre clé privée SSL. | |
CURLOPT_SSLKEYPASSWD | Le mot de passe secret utilisé par votre clé SSL privée spécifié dans
| |
CURLOPT_SSLKEYTYPE | Le type de votre clé SSL privée spécifié dans CURLOPT_SSLKEY . Les types de clé supportés sont "PEM" (par défaut), "DER" , et "ENG" . | |
CURLOPT_TLS13_CIPHERS | La liste des suites de chiffrement à utiliser pour la connexion TLS 1.3. La liste doit être syntaxiquement correcte, elle consiste de un ou plusieurs chaînes de suites de chiffrement séparé par des deux-points. Cette option est actuellement uniquement quand curl est compilé pour utiliser OpenSSL 1.1.1 ou ultérieur. Si vous utiliser un backend SSL différent vous pouvez essayer de définir les suites de chiffrement TLS 1.3 en utilisant l'option CURLOPT_SSL_CIPHER_LIST . | Disponible à partir de PHP 7.3.0 et libcurl >= cURL 7.61.0. Disponible quand compilé avec OpenSSL >= 1.1.1. |
CURLOPT_UNIX_SOCKET_PATH | Permet l’utilisation de sockets de domaine Unix en tant que point de connexion et définit le chemin à la chaîne de caractères fournit. | Ajouté en cURL 7.40.0. Disponible à partir de PHP 7.0.7. |
CURLOPT_URL | L'URL à récupérer. Vous pouvez aussi choisir cette valeur lors de l'appel à curl_init(). | |
CURLOPT_USERAGENT | Le contenu de l'en-tête "User-Agent: " à utiliser dans une requête HTTP. | |
CURLOPT_USERNAME | Le nom d'utilisateur à utiliser lors de l'authentification. | Ajouté en cURL 7.19.1. |
CURLOPT_PASSWORD | Le mot de passe à utiliser lors de l'authentification. | Ajouté en cURL 7.19.1. |
CURLOPT_USERPWD | Un nom d'utilisateur et un mot de passe formatés sous la forme "[username]:[password]" à utiliser pour la connexion. | |
CURLOPT_XOAUTH2_BEARER | Spécifie le jeton d'accès OAuth 2.0. | Ajouté en cURL 7.33.0. Disponible à partir de PHP 7.0.7. |
value
doit être un tableau pour les valeurs suivantes du paramètres option
:
Option | Définir value à | Notes |
---|---|---|
CURLOPT_CONNECT_TO | Connecte à un hôte et à un port spécifiques au lieu de l'hôte et du port de l'URL. Accepte un tableau de chaîne de caractères ave le format HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT . | Ajouté en cURL 7.49.0. Disponible à partir de PHP 7.0.7. |
CURLOPT_HTTP200ALIASES | Un tableau de réponses HTTP 200 qui sera traité comme réponses valides et non comme des erreurs. | Ajouté en CURL 7.10.3. |
CURLOPT_HTTPHEADER | Un tableau de champs d'en-têtes HTTP à définir, au format array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | Un tableau de commandes FTP à exécuter sur le serveur après que la requête FTP se soit exécutée. | |
CURLOPT_PROXYHEADER | Un tableau d'en-têtes HTTP personalisé à passer aux proxies. | Ajouté en cURL 7.37.0. Disponible à partir de PHP 7.0.7. |
CURLOPT_QUOTE | Un tableau de commandes FTP à exécuter sur le serveur avant la requête FTP. | |
CURLOPT_RESOLVE | Fournissez une adresse personnalisée pour une paire hôte / port spécifique. Un tableau de chaîne de caractères de nom d'hôte, de port et d'adresse IP, chaque élément étant séparé par deux-points. Dans le format : array("example.com:80:127.0.0.1") | Ajouté en cURL 7.21.3. |
value
doit être une ressource (utilisant fopen(), par exemple) pour les valeurs suivantes du paramètre option
:
Option | Définissez le paramètre value à |
---|---|
CURLOPT_FILE | Le fichier où sera écrit le transfert. Par défaut, STDOUT (la fenêtre du navigateur). |
CURLOPT_INFILE | Le fichier lu par le transfert lors du chargement. |
CURLOPT_STDERR | Un chemin alternatif à utiliser pour afficher les erreurs au lieu de STDERR . |
CURLOPT_WRITEHEADER | Le fichier où sera écrit les parties d'en-tête du transfert. |
value
doit être le nom d'une fonction ou d'une Closure valide pour les valeurs suivantes du paramètres option
:
Option | Définir value à | Note |
---|---|---|
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. | Supprimée à partir de PHP 7.3.0. |
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. | |
CURLOPT_XFERFUNCTION | Une fonction de rappel qui prend deux arguments. A un objectif identique à CURLOPT_PROGRESSFUNCTION mais est plus récente et est l'option préféree de cURL. | Ajouté en cURL 7.32.0. Disponible à partir de PHP 8.2.0. |
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é. |
Exemple #1 Initialisation d'une nouvelle session CURL et recherche d'une page Web
<?php
// Création d'une ressource cURL
$ch = curl_init();
// Définition de l'URL et autres options appropriées
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);
// Récupération de l'URL et passage au navigateur
curl_exec($ch);
// Fermeture de la ressource cURL et libération des ressources systèmes
curl_close($ch);
?>
Note:
Le fait de passer un tableau à la constante
CURLOPT_POSTFIELDS
encodera les données commemultipart/form-data
, tandis que le fait de passer une chaîne encodée URL encodera les données commeapplication/x-www-form-urlencoded
.