(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — Définit une option de transport cURL.
bool curl_setopt ( ressource $ch , int $option , valeur mixte $ )
Définit une option pour le handle de session cURL donné.
ch
Le handle cURL renvoyé par curl_init().
option
Les options CURLOPT_XXX doivent être définies.
valeur
La valeur qui sera définie en option.
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur une valeur de type booléen :
Possibilités | Valeur facultative | Remarque |
---|---|---|
CURLOPT_AUTOREFERER | Lors de la redirection basée sur l'emplacement :, les informations Referer : dans l'en-tête sont automatiquement définies. | |
CURLOPT_BINARYTRANSFER | Renvoie la sortie brute lorsque CURLOPT_RETURNTRANSFER est activé. | |
CURLOPT_COOKIESESSION | Lorsqu'il est activé, curl ne transmettra qu'un seul cookie de session et ignorera les autres cookies. Par défaut, curl renverra tous les cookies au serveur. Les cookies de session font référence aux cookies utilisés pour déterminer si la session côté serveur est valide. | |
CURLOPT_CRLF | Lorsqu'il est activé, convertit les nouvelles lignes Unix en retours chariot et sauts de ligne. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | Lorsqu'il est activé, un cache DNS global est activé. Il est thread-safe et activé par défaut. | |
CURLOPT_FAILONERROR | Affiche le code d'état HTTP Le comportement par défaut consiste à ignorer les messages HTTP dont les nombres sont inférieurs ou égaux à 400. | |
CURLOPT_FILETIME | Lorsqu'il est activé, tente de modifier les informations dans le document distant. Les informations sur le résultat seront renvoyées via l'option CURLINFO_FILETIME de la fonction curl_getinfo(). curl_getinfo(). | |
CURLOPT_FOLLOWLOCATION | Lorsqu'il est activé, le "Location:" renvoyé par le serveur sera placé dans l'en-tête et renvoyé au serveur de manière récursive. Utilisez CURLOPT_MAXREDIRS pour limiter le nombre de retours récursifs. | |
CURLOPT_FORBID_REUSE | La connexion est forcée de se déconnecter une fois l’interaction terminée et ne peut pas être réutilisée. | |
CURLOPT_FRESH_CONNECT | Force l'obtention d'une nouvelle connexion, remplaçant celle du cache. | |
CURLOPT_FTP_USE_EPRT | Lorsqu'elle est activée, utilisez la commande EPRT (ou LPRT) lors des téléchargements FTP. Lorsque la valeur FALSE désactive EPRT et LPRT, utilisez uniquement la commande PORT. | |
CURLOPT_FTP_USE_EPSV | Lorsqu'elles sont activées, les commandes EPSV sont d'abord tentées avant de revenir au mode PASV lors des transferts FTP. Désactive la commande EPSV lorsqu'elle est définie sur FALSE . | |
CURLOPT_FTPAPPEND | Lorsqu'il est activé, ajouter des écritures au fichier au lieu de l'écraser. | |
CURLOPT_FTPASCII | Alias pour CURLOPT_TRANSFERTEXT . | |
CURLOPT_FTPLISTONLY | Lorsqu'il est activé, seuls les noms des répertoires FTP sont répertoriés. | |
CURLOPT_HEADER | Lorsqu'elle est activée, les informations du fichier d'en-tête seront sorties sous forme de flux de données. | |
CURLINFO_HEADER_OUT | Chaîne de requête pour le traçage des handles lorsqu’elle est activée. | Disponible à partir de PHP 5.1.3. Le préfixe CURLINFO_ est intentionnel. |
CURLOPT_HTTPGET | Lorsqu'elle est activée, la méthode HTTP sera définie sur GET. Étant donné que GET est la méthode par défaut, elle ne sera utilisée que si elle est modifiée. | |
CURLOPT_HTTPPROXYTUNNEL | Lorsqu'elle est activée, la transmission s'effectue via un proxy HTTP. | |
CURLOPT_MUTE | Lorsqu'il est activé, tous les paramètres modifiés dans la fonction cURL seront restaurés à leurs valeurs par défaut. | |
CURLOPT_NETRC | Une fois la connexion établie, accédez au fichier ~/.netrc pour obtenir les informations de nom d'utilisateur et de mot de passe pour vous connecter au site distant. | |
CURLOPT_NOBODY | Lorsqu'elle est activée, la partie BODY du HTML ne sera pas affichée. | |
CURLOPT_NOPROGRESS | Désactivez la barre de progression du transfert curl lorsqu'elle est activée. Le paramètre par défaut de cet élément est activé.
| |
CURLOPT_NOSIGNAL | Lorsqu'il est activé, ignore tous les signaux transmis par curl à php. Cet élément est activé par défaut lors de la transmission multithread SAPI. | Ajouté dans cURL 7.10. |
CURLOPT_POST | Lorsqu'elle est activée, une requête POST régulière de type : application/x-www-form-urlencoded sera envoyée, tout comme une soumission de formulaire. | |
CURLOPT_PUT | Lorsqu'ils sont activés pour permettre à HTTP d'envoyer des fichiers, CURLOPT_INFILE et CURLOPT_INFILESIZE doivent être définis. | |
CURLOPT_RETURNTRANSFER | Renvoie les informations obtenues par curl_exec() sous la forme d'un flux de fichier au lieu de les afficher directement. | |
CURLOPT_SSL_VERIFYPEER | Lorsqu'il est désactivé, cURL mettra fin à la validation du serveur. Définissez le certificat à l'aide de l'option CURLOPT_CAINFO . Définissez le répertoire du certificat à l'aide de l'option CURLOPT_CAPATH . Si CURLOPT_SSL_VERIFYPEER (par défaut 2) est activé, CURLOPT_SSL_VERIFYHOST doit être défini sur TRUE, sinon défini sur FALSE . | La valeur par défaut est TRUE depuis cURL 7.10. À partir de cURL 7.10, l'installation du bundle est effectuée par défaut. |
CURLOPT_TRANSFERTEXT | Lorsqu'il est activé, utilise le mode ASCII pour les transferts FTP. Pour LDAP, il récupère des informations en texte brut plutôt qu'en HTML. Sur les systèmes Windows, le système ne définit pas STDOUT en mode binaire. | |
CURLOPT_UNRESTRICTED_AUTH | Ajoutez continuellement les informations de nom d'utilisateur et de mot de passe à plusieurs emplacements dans l'en-tête généré à l'aide de CURLOPT_FOLLOWLOCATION , même si le nom de domaine a changé. | |
CURLOPT_UPLOAD | Autoriser les téléchargements de fichiers lorsqu'il est activé. | |
CURLOPT_VERBOSE | Lorsqu'elle est activée, toutes les informations seront signalées et stockées dans STDERR ou dans le CURLOPT_STDERR spécifié. |
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur une valeur de type entier :
Possibilités | Valeur facultative | Remarque |
---|---|---|
CURLOPT_BUFFERSIZE | La taille du cache est lue à chaque fois dans les données obtenues, mais rien ne garantit que cette valeur sera remplie à chaque fois. | Ajouté dans cURL 7.10. |
CURLOPT_CLOSEPOLICY | Soit CURLCLOSEPOLICY_LEAST_RECENTLY_USED, soit CURLCLOSEPOLICY_OLDEST, il existe trois autres CURLCLOSEPOLICY, mais cURL ne les prend pas encore en charge. | |
CURLOPT_CONNECTTIMEOUT | Le temps d'attente avant d'établir une connexion. S'il est défini sur 0, il attendra indéfiniment. | |
CURLOPT_CONNECTTIMEOUT_MS | Temps d'attente pour une tentative de connexion, en millisecondes. S'il est défini sur 0, attendez indéfiniment. | Ajouté dans cURL 7.16.2. Disponible à partir de PHP 5.2.3. |
CURLOPT_DNS_CACHE_TIMEOUT | Définissez l'heure de sauvegarde des informations DNS en mémoire, la valeur par défaut est de 120 secondes. | |
CURLOPT_FTPSSLAUTH | Méthode d'authentification FTP : CURLFTPAUTH_SSL (essayez d'abord SSL), CURLFTPAUTH_TLS (essayez d'abord TLS) ou CURLFTPAUTH_DEFAULT (laissez cURL décider automatiquement). | Ajouté dans cURL 7.12.2. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (par défaut, laisse curl décider quelle version utiliser), CURL_HTTP_VERSION_1_0 (force HTTP/1.0) ou CURL_HTTP_VERSION_1_1 (force HTTP/1.1). | |
CURLOPT_INFILESIZE | Définissez la limite de taille des fichiers téléchargés en octets. | |
CURLOPT_LOW_SPEED_LIMIT | Lorsque la vitesse de transmission est inférieure à CURLOPT_LOW_SPEED_LIMIT (octets/s), PHP utilisera CURLOPT_LOW_SPEED_TIME pour déterminer s'il faut annuler la transmission car elle est trop lente. | |
CURLOPT_LOW_SPEED_TIME | Lorsque la vitesse de transmission est inférieure à CURLOPT_LOW_SPEED_LIMIT (octets/s), PHP utilisera CURLOPT_LOW_SPEED_TIME pour déterminer s'il faut annuler la transmission car elle est trop lente. | |
CURLOPT_MAXCONNECTS | Le nombre maximum de connexions autorisées, s'il est dépassé, CURLOPT_CLOSEPOLICY sera utilisé pour déterminer quelles connexions doivent être arrêtées. | |
CURLOPT_MAXREDIRS | Spécifie le nombre maximum de redirections HTTP. Cette option est utilisée avec CURLOPT_FOLLOWLOCATION . | |
CURLOPT_PORT | Utilisé pour spécifier le port de connexion. (facultatif) | |
CURLOPT_PROTOCOLES | Bitfield fait référence à CURLPROTO_* . Si elle est activée, la valeur du champ de bits limite les protocoles que libcurl peut utiliser pendant les transferts. Cela vous permettra de compiler libcurl pour prendre en charge de nombreux protocoles, mais uniquement pour en utiliser un sous-ensemble dont l'utilisation est autorisée. Par défaut, libcurl utilisera tous les protocoles qu'il prend en charge. Voir CURLOPT_REDIR_PROTOCOLS .Les options de protocole disponibles 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é dans cURL 7.19.4. |
CURLOPT_PROTOCOLES | Bitfield fait référence à CURLPROTO_* . Si elle est activée, la valeur du champ de bits limite les protocoles que libcurl peut utiliser pendant les transferts. Cela vous permettra de compiler libcurl pour prendre en charge de nombreux protocoles, mais uniquement pour en utiliser un sous-ensemble dont l'utilisation est autorisée. Par défaut, libcurl utilisera tous les protocoles qu'il prend en charge. Voir CURLOPT_REDIR_PROTOCOLS .Les options de protocole disponibles 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é dans cURL 7.19.4. |
CURLOPT_PROXYAUTH | Méthode de vérification pour les connexions proxy HTTP. Utilisez les indicateurs de champ de bits dans CURLOPT_HTTPAUTH pour définir les options correspondantes. Pour l'authentification proxy, seuls CURLAUTH_BASIC et CURLAUTH_NTLM sont actuellement pris en charge. | Ajouté dans cURL 7.10.7. |
CURLOPT_PROXYPORT | Le port du serveur proxy. Le port peut également être défini dans CURLOPT_PROXY . | |
CURLOPT_PROXYTYPE | Soit CURLPROXY_HTTP (par défaut) ou CURLPROXY_SOCKS5 . | Ajouté dans cURL 7.10. |
CURLOPT_REDIR_PROTOCOLS | Valeur du champ de bits dans CURLPROTO_* . Si elle est activée, la valeur du champ de bits limitera les protocoles que le thread de transport peut utiliser lors du suivi d'une redirection lorsque CURLOPT_FOLLOWLOCATION est activé. Cela vous permettra de restreindre le thread de transport à un sous-ensemble de protocoles autorisés lors de la redirection. Par défaut, libcurl autorisera tous les protocoles sauf FILE et SCP. Ceci est légèrement différent de la version préliminaire 7.19.4 qui suit inconditionnellement tous les protocoles pris en charge. Pour les constantes de protocole, veuillez vous référer à CURLOPT_PROTOCOLS . | Ajouté dans cURL 7.19.4. |
CURLOPT_RESUME_FROM | Transmettez un décalage d'octet lors de la reprise du transfert (utilisé pour la reprise du transfert). | |
CURLOPT_SSL_VERIFYHOST | 1 Vérifiez s'il existe un nom commun dans le certificat SSL du serveur. Note du traducteur : Common Name (Common Name) signifie généralement renseigner le nom de domaine (domaine) ou le sous-domaine (sous-domaine) pour lequel vous allez demander un certificat SSL. 2 Vérifiez que le nom commun existe et correspond au nom d'hôte fourni. | |
CURLOPT_SSLVERSION | Version SSL à utiliser (2 ou 3). Par défaut, PHP détectera cette valeur tout seul, même si dans certains cas, il faudra peut-être la définir manuellement. | |
CURLOPT_TIMECONDITION | Si elle a été modifiée après un certain temps spécifié par CURLOPT_TIMEVALUE , utilisez CURL_TIMECOND_IFMODSINCE pour renvoyer la page. Si elle n'a pas été modifiée et que CURLOPT_HEADER est vrai, un en-tête "304 Not Modified" est renvoyé. Si CURLOPT_HEADER est faux, utilisez CURL_TIMECOND_IFUNMODSINCE. , la valeur par défaut est CURL_TIMECOND_IFUNMODSINCE . | |
CURLOPT_TIMEOUT | Définissez le nombre maximum de secondes pendant lesquelles cURL est autorisé à s'exécuter. | |
CURLOPT_TIMEOUT_MS | Définit le nombre maximum de millisecondes pendant lequel cURL est autorisé à s'exécuter. | Ajouté dans cURL 7.16.2. Disponible à partir de PHP 5.2.3. |
CURLOPT_TIMEVALUE | Définissez un horodatage utilisé par CURLOPT_TIMECONDITION . Par défaut, CURL_TIMECOND_IFMODSINCE est utilisé. |
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur une valeur de type chaîne :
Possibilités | Valeur facultative | Remarque |
---|---|---|
CURLOPT_CAINFO | Le nom d'un fichier contenant un ou plusieurs certificats pour vérification par le serveur. Ce paramètre n'a de sens que lorsqu'il est utilisé avec CURLOPT_SSL_VERIFYPEER . . | |
CURLOPT_CAPATH | Un répertoire contenant plusieurs certificats CA. Cette option est utilisée avec CURLOPT_SSL_VERIFYPEER . | |
CURLOPT_COOKIE | Définissez le contenu de la partie « Cookie : » de la requête HTTP. Plusieurs cookies sont séparés par un point-virgule suivi d'un espace (par exemple, " fruit=apple; color=red "). | |
CURLOPT_COOKIEFILE | Le nom du fichier contenant les données du cookie. Le format du fichier cookie peut être au format Netscape, ou simplement des informations d'en-tête HTTP pures peuvent être stockées dans le fichier. | |
CURLOPT_COOKIEJAR | Un fichier qui enregistre les informations des cookies une fois la connexion terminée. | |
CURLOPT_CUSTOMREQUEST | Utilisez un message de requête personnalisé au lieu de « GET » ou « HEAD » pour la requête HTTP. Ceci est utile pour effectuer "DELETE" ou d'autres requêtes HTTP plus secrètes. Les valeurs valides sont "GET" , "POST" , "CONNECT" , etc. Autrement dit, n'entrez pas l'intégralité de la requête HTTP ici. Par exemple, la saisie de « GET /index.html HTTP/1.0rnrn » est incorrecte.
| |
CURLOPT_EGDSOCKET | Similaire à CURLOPT_RANDOM_FILE , à l'exception d'un socket Entropy Gathering Daemon. | |
CURLOPT_ENCODING | La valeur de « Accept-Encoding : » dans l'en-tête de la requête HTTP. Les encodages pris en charge sont "identity" , "deflate" et "gzip" . S'il s'agit de la chaîne vide "" , tous les types d'encodage pris en charge seront envoyés dans l'en-tête de la requête. | Ajouté dans cURL 7.10. |
CURLOPT_FTPPORT | Cette valeur sera utilisée pour obtenir l'adresse IP requise pour la commande FTP "POST". La commande "POST" indique au serveur distant de se connecter à l'adresse IP que nous avons spécifiée. Cette chaîne peut être une adresse IP en texte brut, un nom d'hôte, un nom d'interface réseau (sous UNIX) ou simplement un '-' pour utiliser l'adresse IP par défaut. | |
CURLOPT_INTERFACE | Le nom de l'interface d'envoi du réseau peut être un nom d'interface, une adresse IP ou un nom d'hôte. | |
CURLOPT_KRB4LEVEL | Niveau de sécurité KRB4 (Kerberos 4). Toutes les valeurs suivantes sont valides (par ordre décroissant) : "clear" , "safe" , "confidential" , "private". Si la chaîne ne correspond à aucun de ces éléments, "privé" sera utilisé. La définition de cette option sur NULL désactivera l’authentification de sécurité KRB4. Actuellement, la certification de sécurité KRB4 ne peut être utilisée que pour les transferts FTP. | |
CURLOPT_POSTFIELDS | Toutes les données sont envoyées à l'aide de l'opération "POST" dans le protocole HTTP. Pour envoyer un fichier, préfixez le nom du fichier avec @ et utilisez le chemin complet. Ce paramètre peut être transmis sous forme de chaîne codée en urlen comme ' para1=val1¶2=val2&... ' ou utiliser un tableau avec le nom du champ comme clé et les données du champ comme valeur. Si value est un tableau, l’en-tête Content-Type sera défini sur multipart/form-data . | |
CURLOPT_PROXY | Canal proxy HTTP. | |
CURLOPT_PROXYUSERPWD | Une chaîne au format "[nom d'utilisateur]:[mot de passe]" utilisée pour se connecter au proxy. | |
CURLOPT_RANDOM_FILE | Le nom d'un fichier utilisé pour générer la graine de nombre aléatoire SSL. | |
CURLOPT_RANGE | Sous la forme de "XY" , où X et Y sont des options facultatives pour obtenir la plage de données, en octets. Le thread de transport HTTP prend également en charge plusieurs doublons de ce type séparés par des virgules telles que "XY,NM" . | |
CURLOPT_REFERER | Le contenu de « Referer : » dans l’en-tête de la requête HTTP. | |
CURLOPT_SSL_CIPHER_LIST | Une liste d'algorithmes de cryptage SSL. Par exemple, RC4-SHA et TLSv1 sont deux listes de chiffrement disponibles. | |
CURLOPT_SSLCERT | Le nom d'un fichier contenant un certificat au format PEM. | |
CURLOPT_SSLCERTPASSWD | Mot de passe requis pour utiliser le certificat CURLOPT_SSLCERT . | |
CURLOPT_SSLCERTTYPE | Le type de certificat. Les formats pris en charge sont "PEM" (par défaut), "DER" et "ENG" . | Ajouté dans cURL 7.9.3. |
CURLOPT_SSLENGINE | Variable du moteur de chiffrement utilisée pour la clé privée SSL spécifiée dans CURLOPT_SSLKEY . | |
CURLOPT_SSLENGINE_DEFAULT | Variables utilisées pour les opérations de chiffrement asymétrique. | |
CURLOPT_SSLKEY | Le nom du fichier contenant la clé privée SSL. | |
CURLOPT_SSLKEYPASSWD | Le mot de passe de la clé privée SSL spécifiée dans CURLOPT_SSLKEY .
| |
CURLOPT_SSLKEYTYPE | Le type de cryptage de la clé privée spécifié dans CURLOPT_SSLKEY . Les types de clés pris en charge sont "PEM" (valeur par défaut), "DER" et "ENG" . | |
CURLOPT_URL | L'adresse URL qui doit être obtenue peut également être définie dans la fonction curl_init() . | |
CURLOPT_USERAGENT | Incluez une chaîne d'en-tête « User-Agent : » dans la requête HTTP. | |
CURLOPT_USERPWD | Passez l'identifiant et le mot de passe nécessaires à une connexion au format : "[username]:[password]" . |
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur un tableau :
Possibilités | Valeur facultative | Remarque |
---|---|---|
CURLOPT_HTTP200ALIASES | 200 tableaux de codes de réponse, la réponse dans le tableau est considérée comme une réponse correcte, sinon elle est considérée comme une erreur. | Ajouté dans cURL 7.10.3. |
CURLOPT_HTTPEADER | Un tableau utilisé pour définir les champs d'en-tête HTTP. Utilisez un tableau sous la forme suivante pour définir : array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | Un ensemble de commandes FTP exécutées sur le serveur après l'exécution de la requête FTP. | |
CURLOPT_QUOTE | Un ensemble de commandes FTP à exécuter sur le serveur avant la requête FTP. |
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur une ressource de flux (par exemple, en utilisant fopen()) :
Possibilités | Valeur facultative |
---|---|
CURLOPT_FILE | Définissez l'emplacement du fichier de sortie. La valeur est un type de ressource. La valeur par défaut est STDOUT (navigateur). |
CURLOPT_INFILE | L'adresse du fichier qui doit être lue lors du téléchargement d'un fichier. La valeur est un type de ressource. |
CURLOPT_STDERR | Définissez une adresse de sortie d'erreur, la valeur est un type de ressource, remplaçant la valeur par défaut STDERR . |
CURLOPT_WRITEHEADER | Définissez l'adresse du fichier dans lequel le contenu de la partie d'en-tête est écrit et la valeur est un type de ressource. |
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur un nom de fonction de rappel :
Possibilités | Valeur facultative |
---|---|
CURLOPT_HEADERFUNCTION | Définissez une fonction de rappel. Cette fonction a deux paramètres. Le premier est le handle de ressource cURL et le second est les données d'en-tête de sortie. La sortie des données d'en-tête doit s'appuyer sur cette fonction, qui renvoie la taille des données écrites. |
CURLOPT_PASSWDFUNCTION | Définissez une fonction de rappel avec trois paramètres Le premier est le descripteur de ressource cURL, le second est une invite de mot de passe et le troisième paramètre est la longueur maximale autorisée du mot de passe. Renvoie la valeur du mot de passe. |
CURLOPT_PROGRESSFUNCTION | Configurez une fonction de rappel avec trois paramètres Le premier est le handle de ressource cURL, le second est une ressource de descripteur de fichier et le troisième est la longueur. Renvoie les données contenues. |
CURLOPT_READFUNCTION | Nom de la fonction de rappel. Cette fonction doit accepter trois paramètres. Le premier est la ressource cURL ; le deuxième est la ressource de flux transmise à cURL via l'option CURLOPT_INFILE ; le troisième paramètre est la quantité maximale de données pouvant être lues. La fonction de rappel doit renvoyer une chaîne dont la longueur est inférieure ou égale à la quantité de données demandée (troisième paramètre). Généralement lu à partir de la ressource de flux entrant. Renvoie la chaîne vide sous forme de signal EOF (fin de fichier). |
CURLOPT_WRITEFUNCTION | Nom de la fonction de rappel. Cette fonction doit accepter deux paramètres. La première est la ressource cURL ; la seconde est la chaîne de données à écrire. Les données doivent être enregistrées dans la fonction. La fonction doit renvoyer le nombre exact d'octets passés pour écrire les données, sinon le transfert sera interrompu par une erreur. |
Renvoie VRAI en cas de succès ou FAUX en cas d'échec.
Version | illustrer |
---|---|
5.2.10 | Introduction de CURLOPT_PROTOCOLS et CURLOPT_REDIR_PROTOCOLS . |
5.1.0 | Introduction de CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH et CURLOPT_TIMECONDITION . |
5.0.0 | Introduction de CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE et CURLOPT_HTTP200ALIASES . |
Initialisez une nouvelle session cURL et obtenez une page Web
<?php// Créer une nouvelle ressource cURL $ch = curl_init();// Définir l'URL et les options correspondantes curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); , CURLOPT_HEADER, faux);// Saisissez l'URL et transmettez-la au navigateur curl_exec($ch);//Fermez la ressource cURL et libérez la ressource système curl_close($ch);?>
Exemple de fichier de téléchargement :
<?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);?>
Les résultats de sortie de l'exemple ci-dessus sont les suivants :
Array( [nom] => Foo)Array( [fichier] => Array ( [nom] => test.png [type] => image/png [nom_tmp] => /tmp/phpcpjNeQ [erreur] => 0 [ taille] => 279 ))
Lors du passage d'un tableau à CURLOPT_POSTFIELDS, cURL encodera les données dans multipart/form-data, tandis que lors du passage d'une chaîne codée en URL, les données seront codées dans application/x-www-form-urlencoded.