Fonction PHP curl_setopt
(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — Définit une option de transfert cURL.
Description
bool curl_setopt ( resource $ch , int $option , mixed $value )
Définit une option pour le handle de session cURL donné.
Parameters
ch
Handle cURL retourné par curl_init().
option
L'option CURLOPT_XXX à définir.
value
La valeur à définir pour l'option.
Pour les paramètres optionnels suivants de ces options, la valeur doit être définie sur une valeur booléenne :
| Option | ValeurvaleurValeur | Notes |
|---|---|---|
| CURLOPT_AUTOREFERER | Lors du suivi des redirectionsLocation:, définit automatiquement l'en-têteReferer:informations. | |
| CURLOPT_BINARYTRANSFER | Lorsqu'activéCURLOPT_RETURNTRANSFER, retourne la sortie native (Raw). | |
| CURLOPT_COOKIESESSION | Lorsqu'activé, cURL ne transmettra qu'un cookie de session et ignorera les autres cookies. Par défaut, cURL renvoie tous les cookies au serveur. Les cookies de session sont ceux qui existent pour déterminer si la session côté serveur est valide. | |
| CURLOPT_CRLF | Lorsqu'activé, convertit les sauts de ligne Unix en retour chariot et saut de ligne. | |
| CURLOPT_DNS_USE_GLOBAL_CACHE | Lorsqu'activé, un cache DNS global est activé. Cette option est thread-safe et activée par défaut. | |
| CURLOPT_FAILONERROR | Afficher les codes d'état HTTP. Le comportement par défaut est d'ignorer les messages HTTP dont les codes sont inférieurs ou égaux à 400. | |
| CURLOPT_FILETIME | Lorsqu'activé, il tentera de modifier les informations dans le document distant. Les informations de résultat seront renvoyées via l'optionCURLINFO_FILETIMEde la fonction curl_getinfo(). curl_getinfo(). | |
| CURLOPT_FOLLOWLOCATION | Lorsqu'activé, prendra le"Location: "renvoyé par le serveur, le placera dans l'en-tête et le renverra récursivement au serveur ; utiliserCURLOPT_MAXREDIRSpermet de limiter le nombre de renvois récursifs. | |
| CURLOPT_FORBID_REUSE | Force la déconnexion après la fin de l'interaction ; ne peut pas être réutilisée. | |
| CURLOPT_FRESH_CONNECT | Force l'obtention d'une nouvelle connexion, remplaçant la connexion mise en cache. | |
| CURLOPT_FTP_USE_EPRT | Lorsqu'activé, pendant le téléchargement FTP, utilisez la commande EPRT (ou LPRT). Défini surFALSEdésactive EPRT et LPRT, et utilise uniquement la commande PORT. | |
| CURLOPT_FTP_USE_EPSV | Lorsqu'activé, pendant le transfert FTP, il tente d'abord la commande EPSV avant de revenir au mode PASV. Défini surFALSEdésactive la commande EPSV. | |
| CURLOPT_FTPAPPEND | Lorsqu'activé, ajoute au fichier au lieu de l'écraser. | |
| CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXTalias de. | |
| CURLOPT_FTPLISTONLY | Lorsqu'activé, liste uniquement les noms de répertoires FTP. | |
| CURLOPT_HEADER | Lorsqu'activé, les informations d'en-tête du fichier sont fournies sous forme de flux de données. | |
| CURLINFO_HEADER_OUT | Lorsqu'activé, trace la chaîne de requête du handle. | Disponible à partir de PHP 5.1.3.CURLINFO_Le préfixe est intentionnel. |
| CURLOPT_HTTPGET | Lorsqu'activé, la méthode HTTP est définie sur GET. Comme GET est la valeur par défaut, elle n'est utilisée que lorsqu'elle est modifiée. | |
| CURLOPT_HTTPPROXYTUNNEL | Lorsqu'activé, transfère via un proxy HTTP. | |
| CURLOPT_MUTE | Lorsqu'activé, restaure à leurs valeurs par défaut tous les paramètres modifiés dans la fonction cURL. | |
| CURLOPT_NETRC | Une fois la connexion établie, accédez~/.netrcau fichier pour obtenir les informations de nom d'utilisateur et de mot de passe afin de se connecter au site distant. | |
| CURLOPT_NOBODY | Lorsque cette option est activée, la partie BODY du HTML ne sera pas affichée. | |
| CURLOPT_NOPROGRESS | Lorsque cette option est activée, la barre de progression du transfert curl est désactivée. Cette option est activée par défaut.
|
|
| CURLOPT_NOSIGNAL | Lorsque cette option est activée, tous les signaux transmis par curl à PHP sont ignorés. Cette option est activée par défaut lors d'un transfert SAPI multi-thread. | Ajouté dans cURL 7.10. |
| CURLOPT_POST | Lorsque cette option est activée, une requête POST normale est envoyée, de type :application/x-www-form-urlencoded, comme lors de la soumission d'un formulaire. | |
| CURLOPT_PUT | Lorsque cette option est activée, l'envoi de fichiers HTTP est autorisé ; il faut aussi définirCURLOPT_INFILEetCURLOPT_INFILESIZE。 | |
| CURLOPT_RETURNTRANSFER | Retourner les informations obtenues par curl_exec() sous forme de flux de fichier, au lieu de les afficher directement. | |
| CURLOPT_SSL_VERIFYPEER | Lorsque cette option est désactivée, cURL cessera de vérifier auprès du serveur. Utilisez l'optionCURLOPT_CAINFOpour définir le certificat, utilisez l'optionCURLOPT_CAPATHpour définir le répertoire des certificats,CURLOPT_SSL_VERIFYPEER(valeur par défaut 2) est activé,CURLOPT_SSL_VERIFYHOSTdoit être défini surTRUEsinon défini surFALSE。 | Valeur par défaut depuis cURL 7.10TRUE. Lié par défaut depuis cURL 7.10. |
| CURLOPT_TRANSFERTEXT | Lorsqu'il est activé, le mode ASCII est utilisé pour le transfert FTP. Pour LDAP, il récupère les informations en texte brut au lieu du HTML. Sur les systèmes Windows, le système ne définira pasSTDOUTen mode binaire. | |
| CURLOPT_UNRESTRICTED_AUTH | Lors de l'utilisation deCURLOPT_FOLLOWLOCATION, continuez à ajouter les informations de nom d'utilisateur et de mot de passe parmi plusieurs emplacements dans l'en-tête généré, même si le domaine a changé. | |
| CURLOPT_UPLOAD | Lorsqu'il est activé, le téléversement de fichier est autorisé. | |
| CURLOPT_VERBOSE | Lorsqu'il est activé, signale toutes les informations, stockées dansSTDERRou dans leCURLOPT_STDERRspécifié. |
Pour les paramètres optionnels suivants de ces options, la valeur doit être définie sur une valeur entière :
| Option | ValeurvaleurValeur | Notes |
|---|---|---|
| CURLOPT_BUFFERSIZE | La taille du cache lue à partir de chaque donnée récupérée, mais il n'y a aucune garantie que cette valeur soit remplie à chaque fois. | Ajouté dans cURL 7.10. |
| CURLOPT_CLOSEPOLICY | Soit CURLCLOSEPOLICY_LEAST_RECENTLY_USED, soit CURLCLOSEPOLICY_OLDEST. Il existe trois autres valeurs CURLCLOSEPOLICY, mais cURL ne les prend pas encore en charge. | |
| CURLOPT_CONNECTTIMEOUT | Le temps d'attente avant d'initier une connexion ; si défini à 0, attend indéfiniment. | |
| CURLOPT_CONNECTTIMEOUT_MS | Le temps d'attente lors d'une tentative de connexion, en millisecondes. Si défini sur 0, attend indéfiniment. | Ajouté dans cURL 7.16.2. Disponible depuis PHP 5.2.3. |
| CURLOPT_DNS_CACHE_TIMEOUT | Définit la durée de stockage des informations DNS en mémoire, la valeur par défaut est 120 secondes. | |
| CURLOPT_FTPSSLAUTH | Méthode d'authentification FTP :CURLFTPAUTH_SSL(essayer SSL en premier),CURLFTPAUTH_TLS(essayer TLS en premier) ouCURLFTPAUTH_DEFAULT(laisser cURL décider automatiquement). | Ajouté dans cURL 7.12.2. |
| CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE(par défaut, laisser cURL déterminer la version à utiliser),CURL_HTTP_VERSION_1_0(forcer HTTP/1.0) ouCURL_HTTP_VERSION_1_1(forcer HTTP/1.1). | |
| CURLOPT_INFILESIZE | Définit la limite de taille des fichiers téléversés, en octets. | |
| CURLOPT_LOW_SPEED_LIMIT | Lorsque la vitesse de transfert est inférieure àCURLOPT_LOW_SPEED_LIMIT(bytes/sec), PHP se basera surCURLOPT_LOW_SPEED_TIMEpour déterminer s'il faut annuler le transfert car il est trop lent. | |
| CURLOPT_LOW_SPEED_TIME | Lorsque la vitesse de transfert est inférieure àCURLOPT_LOW_SPEED_LIMIT(bytes/sec), PHP se basera surCURLOPT_LOW_SPEED_TIMEpour déterminer s'il faut annuler le transfert car il est trop lent. | |
| CURLOPT_MAXCONNECTS | Le nombre maximal de connexions autorisées ; lorsqu'il est dépassé, il utiliseraCURLOPT_CLOSEPOLICYpour décider quelles connexions doivent être arrêtées. | |
| CURLOPT_MAXREDIRS | Spécifiez le nombre maximal de redirections HTTP. Cette option est utilisée avecCURLOPT_FOLLOWLOCATIONconjointement. | |
| CURLOPT_PORT | Utilisé pour spécifier le port de connexion. (Facultatif) | |
| CURLOPT_PROTOCOLS | CURLPROTO_*masque de bits. Si activé, la valeur du masque de bits limitera les protocoles que libcurl peut utiliser pendant le transfert. Cela vous permet de prendre en charge de nombreux protocoles lors de la compilation de libcurl, mais de le restreindre à un sous-ensemble de protocoles autorisés. Par défaut, libcurl utilisera tous les protocoles qu'il prend en charge. VoirCURLOPT_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_PROTOCOLS | CURLPROTO_*masque de bits. Si activé, la valeur du masque de bits limitera les protocoles que libcurl peut utiliser pendant le transfert. Cela vous permet de prendre en charge de nombreux protocoles lors de la compilation de libcurl, mais de le restreindre à un sous-ensemble de protocoles autorisés. Par défaut, libcurl utilisera tous les protocoles qu'il prend en charge. VoirCURLOPT_REDIR_PROTOCOLSLes 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 d'authentification de connexion au proxy HTTP. Utilisez lesCURLOPT_HTTPAUTHindicateurs de champ de bits pour définir l'option correspondante. Pour l'authentification proxy, seulsCURLAUTH_BASICetCURLAUTH_NTLMsont actuellement pris en charge. | Ajouté dans cURL 7.10.7. |
| CURLOPT_PROXYPORT | Port du serveur proxy. Le port peut également êtreCURLOPT_PROXYdéfini dans | |
| CURLOPT_PROXYTYPE | n'est pasCURLPROXY_HTTP(valeur par défaut) ouCURLPROXY_SOCKS5。 | Ajouté dans cURL 7.10. |
| CURLOPT_REDIR_PROTOCOLS | CURLPROTO_*La valeur du champ de bits. Si elle est activée, la valeur du champ de bits limitera le thread de transfert àCURLOPT_FOLLOWLOCATIONles protocoles qui peuvent être utilisés lors du suivi d'une redirection. Cela vous permettra de limiter le thread de transfert à un sous-ensemble de protocoles autorisés lors des redirections. Par défaut, libcurl autorisera tous les protocoles sauf FILE et SCP. Ceci est quelque peu différent de la version préliminaire 7.19.4, qui suivait 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 en octets lors de la reprise du transfert (utilisé pour reprendre les transferts interrompus). | |
| CURLOPT_SSL_VERIFYHOST | 1 Vérifie si un nom commun existe dans le certificat SSL du serveur. Note du traducteur : Common Name désigne généralement le domaine ou le sous-domaine pour lequel vous êtes sur le point de demander un certificat SSL. 2 Vérifie si le nom commun existe et correspond au nom d'hôte fourni. | |
| CURLOPT_SSLVERSION | La version SSL à utiliser (2 ou 3). Par défaut, PHP détectera cette valeur lui-même, bien que dans certains cas elle doive être définie manuellement. | |
| CURLOPT_TIMECONDITION | SiCURLOPT_TIMEVALUEa été modifié après l'heure spécifiée, alors utilisezCURL_TIMECOND_IFMODSINCEpour renvoyer la page ; s'il n'a pas été modifié, etCURLOPT_HEADERest vrai, renvoyez un en-tête"304 Not Modified",CURLOPT_HEADERest faux, utilisezCURL_TIMECOND_IFUNMODSINCE, la valeur par défaut estCURL_TIMECOND_IFUNMODSINCE。 | |
| CURLOPT_TIMEOUT | Définit le nombre maximal de secondes pendant lesquelles cURL est autorisé à s'exécuter. | |
| CURLOPT_TIMEOUT_MS | Définit le nombre maximal de millisecondes pendant lesquelles cURL est autorisé à s'exécuter. | Ajouté dans cURL 7.16.2. Disponible depuis PHP 5.2.3. |
| CURLOPT_TIMEVALUE | Définit unCURLOPT_TIMECONDITIONhorodatage à utiliser ; par défaut, il utiliseCURL_TIMECOND_IFMODSINCE。 |
Pour les options suivantes, le paramètre value doit être défini sur une valeur de chaîne :
| Option | OptionnelvaleurValeur | Remarques |
|---|---|---|
| CURLOPT_CAINFO | Un nom de fichier contenant un ou plusieurs certificats pour la vérification du serveur. Ce paramètre n'a de sens que lorsqu'il est utilisé avecCURLOPT_SSL_VERIFYPEERIl n'a de sens que lorsqu'ils sont utilisés ensemble. | |
| CURLOPT_CAPATH | Un répertoire contenant plusieurs certificats CA. Cette option est utilisée avecCURLOPT_SSL_VERIFYPEERElle est utilisée conjointement. | |
| CURLOPT_COOKIE | Définit la"Cookie: "partie de la requête HTTP. Plusieurs cookies sont séparés par des points-virgules, avec un espace après le point-virgule (par ex., "fruit=apple; colour=red"). | |
| CURLOPT_COOKIEFILE | Le nom de fichier contenant les données de cookie. Le format de fichier de cookie peut être le format Netscape, ou simplement des informations d'en-tête HTTP en clair stockées dans un fichier. | |
| CURLOPT_COOKIEJAR | Le fichier dans lequel enregistrer les informations de cookie après la fin de la connexion. | |
| CURLOPT_CUSTOMREQUEST | Utiliser un message de requête personnalisé au lieu de"GET"ou"HEAD"comme requête HTTP. Ceci est utile pour effectuer"DELETE"ou d'autres requêtes HTTP plus obscures. Les valeurs valides incluent"GET","POST","CONNECT"etc. C'est-à-dire, ne saisissez pas la requête HTTP complète ici. Par exemple, saisir"GET /index.html HTTP/1.0\r\n\r\n"est incorrect.
|
|
| CURLOPT_EGDSOCKET | Similaire àCURLOPT_RANDOM_FILE, sauf qu'il s'agit d'un socket Entropy Gathering Daemon. | |
| CURLOPT_ENCODING | Dans l'en-tête de requête HTTP"Accept-Encoding: "valeur. Les encodages pris en charge sont"identity","deflate"et"gzip". Si une chaîne vide"", l'en-tête de requête enverra tous les types d'encodage pris en charge. | 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 spécifions. 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 | Nom de l'interface réseau d'envoi ; il peut s'agir d'un nom d'interface, d'une adresse IP ou d'un nom d'hôte. | |
| CURLOPT_KRB4LEVEL | Niveau de sécurité KRB4 (Kerberos 4). Les valeurs suivantes sont valides (par ordre croissant) :"clear"、"safe"、"confidential"、"private".. Si la chaîne ne correspond à aucune de ces valeurs, il utilisera"private". Cette option définie surNULLdésactivera l'authentification de sécurité KRB4. Actuellement, l'authentification 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" du protocole HTTP. Pour envoyer un fichier, préfixez le nom de fichier avec@préfixe et utilisez le chemin complet. Ce paramètre peut être une chaîne urlencodée similaire à 'para1=val1¶2=val2&...' ou un tableau avec les noms de champs comme clés et les données de champs comme valeurs. Sivalueest un tableau,Content-Typel'en-tête sera défini surmultipart/form-data。 | |
| CURLOPT_PROXY | Tunnel de proxy HTTP. | |
| CURLOPT_PROXYUSERPWD | A"[username]:[password]"chaîne de format utilisée pour se connecter au proxy. | |
| CURLOPT_RANDOM_FILE | Un nom de fichier utilisé pour générer la graine aléatoire SSL. | |
| CURLOPT_RANGE | avec"X-Y"sous la forme, où X et Y sont facultatifs et spécifient la plage de données à récupérer, en octets. Le thread de transfert HTTP prend également en charge plusieurs éléments répétés de ce type séparés par des virgules, tels que"X-Y,N-M"。 | |
| CURLOPT_REFERER | Dans l'en-tête de requête HTTP"Referer: "contenu. | |
| CURLOPT_SSL_CIPHER_LIST | Une liste d'algorithmes de chiffrement SSL. Par exemple,RC4-SHAetTLSv1sont toutes des listes de chiffrement disponibles. | |
| CURLOPT_SSLCERT | Un nom de fichier contenant un certificat au format PEM. | |
| CURLOPT_SSLCERTPASSWD | UtilisezCURLOPT_SSLCERTle mot de passe requis par le certificat. | |
| CURLOPT_SSLCERTTYPE | Type de certificat. Les formats pris en charge sont"PEM"(par défaut),"DER"et"ENG"。 | Ajouté dans cURL 7.9.3. |
| CURLOPT_SSLENGINE | Utilisé dansCURLOPT_SSLKEYla variable du moteur de chiffrement pour la clé privée SSL spécifiée dans | |
| CURLOPT_SSLENGINE_DEFAULT | La variable utilisée pour les opérations de chiffrement asymétrique. | |
| CURLOPT_SSLKEY | Le nom de fichier contenant la clé privée SSL. | |
| CURLOPT_SSLKEYPASSWD | DansCURLOPT_SSLKEYLe mot de passe de la clé privée SSL spécifiée dans
|
|
| CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEYLe type de chiffrement de la clé privée spécifiée dans ... Les types de clés pris en charge sont"PEM"(par défaut),"DER"et"ENG"。 | |
| CURLOPT_URL | L'URL à récupérer, qui peut également être définie danscurl_init()la fonction. | |
| CURLOPT_USERAGENT | Incluez une"User-Agent: "chaîne d'en-tête dans la requête HTTP. | |
| CURLOPT_USERPWD | Indiquez le nom d'utilisateur et le mot de passe requis pour la connexion, au format :"[username]:[password]"。 |
Pour les options suivantes, le paramètre value doit être défini sur un tableau :
| Option | OptionnelvaleurValeur | Remarques |
|---|---|---|
| CURLOPT_HTTP200ALIASES | Un tableau de codes de réponse 200. Les codes de réponse du tableau sont considérés comme des réponses correctes, sinon ils sont considérés comme des erreurs. | Ajouté dans cURL 7.10.3. |
| CURLOPT_HTTPHEADER | Un tableau utilisé pour définir les champs d'en-tête HTTP. Utilisez un tableau sous la forme suivante : array('Content-type: text/plain', 'Content-length: 100') | |
| CURLOPT_POSTQUOTE | Un ensemble de commandes FTP à exécuter 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 options suivantes, le paramètre value doit être défini sur une ressource de flux (par exemple, en utilisant fopen()) :
| Option | OptionnelvaleurValeur |
|---|---|
| CURLOPT_FILE | Définir l'emplacement du fichier de sortie ; la valeur est de type ressource, par défaut àSTDOUT(navigateur). |
| CURLOPT_INFILE | L'emplacement du fichier à lire lors du téléversement d'un fichier ; la valeur est de type ressource. |
| CURLOPT_STDERR | Définir un emplacement de sortie d'erreur ; la valeur est de type ressource, remplaçant la valeur par défautSTDERR。 |
| CURLOPT_WRITEHEADER | Définir l'emplacement du fichier pour écrire le contenu de la section d'en-tête ; la valeur est de type ressource. |
Pour les options suivantes, le paramètre de valeur doit être défini sur un nom de fonction de rappel :
| Option | OptionnelvaleurValeur |
|---|---|
| CURLOPT_HEADERFUNCTION | Définir une fonction de rappel avec deux paramètres : le premier est l'identifiant de ressource cURL, et le second correspond aux données d'en-tête de sortie. La sortie des données d'en-tête doit dépendre de cette fonction. Retourner la taille des données écrites. |
| CURLOPT_PASSWDFUNCTION | Définir une fonction de rappel avec trois paramètres : le premier est l'identifiant de ressource cURL, le second est une invite de mot de passe, et le troisième est la longueur maximale autorisée du mot de passe. Retourner la valeur du mot de passe. |
| CURLOPT_PROGRESSFUNCTION | Définit une fonction de rappel avec trois paramètres : le premier est la ressource cURL, le deuxième est une ressource de descripteur de fichier, et le troisième est la longueur. Retourne les données contenues. |
| CURLOPT_READFUNCTION | Nom de la fonction de rappel. Cette fonction doit accepter trois paramètres. Le premier est une ressource cURL ; le second est la ressource de flux transmise via l'optionCURLOPT_INFILEà cURL ; le troisième paramètre est la quantité maximale de données pouvant être lue. La fonction de rappel doit renvoyer une chaîne d'une longueur inférieure ou égale à la quantité de données demandée (le troisième paramètre). Généralement, lisez depuis la ressource de flux transmise. Renvoyer une chaîne vide commeEOF(fin de fichier) signal. |
| CURLOPT_WRITEFUNCTION | Nom de la fonction de rappel. Cette fonction doit accepter deux paramètres. Le premier est une ressource cURL ; le second 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 des données transmises à écrire, sinon le transfert sera interrompu par une erreur. |
Valeurs de retour
Retourne TRUE en cas de succès, ou FALSE en cas d'échec.
Journal des modifications
| Version | Description |
|---|---|
| 5.2.10 | IntroduitCURLOPT_PROTOCOLS, et
CURLOPT_REDIR_PROTOCOLS.
|
| 5.1.0 | IntroduitCURLOPT_AUTOREFERER,
CURLOPT_BINARYTRANSFER,
CURLOPT_FTPSSLAUTH,
CURLOPT_PROXYAUTH, et
CURLOPT_TIMECONDITION.
|
| 5.0.0 | IntroduitCURLOPT_FTP_USE_EPRT,
CURLOPT_NOSIGNAL,
CURLOPT_UNRESTRICTED_AUTH,
CURLOPT_BUFFERSIZE,
CURLOPT_HTTPAUTH,
CURLOPT_PROXYPORT,
CURLOPT_PROXYTYPE,
CURLOPT_SSLCERTTYPE, et
CURLOPT_HTTP200ALIASES.
|
Exemples
Initialiser une nouvelle session cURL et récupérer une page web
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, false); // 抓取URL并把它传递给浏览器 curl_exec($ch); //关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
Exemple de téléversement de fichier :
<?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 affichera :
Array
(
[name] => Foo
)
Array
(
[file] => Array
(
[name] => test.png
[type] => image/png
[tmp_name] => /tmp/phpcpjNeQ
[error] => 0
[size] => 279
)
)
Notes
Passer un tableau à CURLOPT_POSTFIELDS amènera cURL à encoder les données en multipart/form-data, tandis que passer une chaîne encodée URL entraînera l'encodage des données en application/x-www-form-urlencoded.
Autres extensions
Manuel de référence PHP cURL