Fonction PHP curl_setopt

PHP Calendar 参考手册Manuel de référence PHP cURL

(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.

Remarque:

PHP définit automatiquement cette option surTRUE, cette option ne doit être modifiée qu'à des fins de débogage.

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.

Remarque:

N'utilisez pas ceci avant d'avoir confirmé que le serveur prend en charge cette méthode de requête personnalisée.

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&para2=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

Remarque:

Comme cette option contient des informations de mot de passe sensibles, n'oubliez pas de garantir la sécurité de ce script PHP.

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.


PHP Calendar 参考手册Référence cURL PHP

Autres extensions