Introduction au concept et exemples d'utilisation de la fonction php curl_setopt

怪我咯
Libérer: 2023-03-07 19:32:02
original
1583 Les gens l'ont consulté

Que fait la fonction php curl_setopt ?

La fonction curl_setopt est une fonction importante en php. Elle est utilisée pour définir une option de transmission cURL. Alors comment est-il mis en place ? Quels sont les paramètres ? L'objectif principal de cet article est de vous donner une introduction détaillée au

de la fonction curl_setopt en PHP.

Premier coup d'oeil à la description de la syntaxe

bool curl_setopt ( resource $ch , int $option , mixed $value )
Copier après la connexion

Détails du paramètre :

ch

Le handle cURL renvoyé par curl_init().

option

CURLOPT_XXX options qui doivent être définies.

valeur

La valeur qui sera définie sur l'option option.

PS : Notez ici que la valeur est définie en fonction des paramètres sélectionnés par l'option, comme suit

Pour les paramètres optionnels du options suivantes, la valeur doit être définie sur une valeur de type booléen :

OptionsFacultatifvaleurValeurRemarques
CURLOPT_AUTOREFERERLors d'une redirection basée sur Location :, définissez automatiquement les informations Referer : dans l'en-tête.
CURLOPT_BINARYTRANSFERLorsque CURLOPT_RETURNTRANSFER est activé, renvoie le natif ( Raw ) sortir.
CURLOPT_COOKIESESSIONLorsque activé, curl ne transmettra qu'un seul cookie de session et ignorera les autres cookies. par défaut Dans ce cas, 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 sauts de ligne Unix en sauts de ligne de retour chariot.
CURLOPT_DNS_USE_GLOBAL_CACHELorsqu'il est activé, un cache DNS global sera activé. safe et est activé par défaut.
CURLOPT_FAILONERRORAffiche le code d'état HTTP Le comportement par défaut est d'ignorer les messages HTTP avec des chiffres. inférieur ou égal à 400 .
CURLOPT_FILETIMELorsque cette option est activée, une tentative sera effectuée pour 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_FOLLOWLOCATIONLorsqu'il est activé, le serveur renverra " Emplacement : " est 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_REUSEDéconnexion forcée après avoir terminé l'interaction et ne peut pas être réutilisé.
CURLOPT_FRESH_CONNECTForcer une nouvelle connexion pour remplacer celle du cache.
CURLOPT_FTP_USE_EPRTLorsque cette option est activée, utilisez la commande EPRT (ou LPRT) lors des téléchargements FTP. Désactivez EPRT et LPRT lorsqu'ils sont définis sur FALSE, utilisez la commande PORT uniquement.
CURLOPT_FTP_USE_EPSVLorsque activé, avant de revenir au mode PASV pendant le transfert FTP Essayez le Commande EPSV. Désactive la commande EPSV lorsqu'elle est définie sur FALSE.
CURLOPT_FTPAPPEND Lorsqu'il est activé, l'ajout écrit dans le fichier au lieu de l'écraser. Alias ​​​​de
CURLOPT_FTPASCIICURLOPT_TRANSFERTEXT.
CURLOPT_FTPLISTONLYLorsque cette option est activée, seul le nom du répertoire FTP est répertorié.
CURLOPT_HEADERLorsque cette option est activée, les informations du fichier d'en-tête seront affichées sous forme de flux de données.
CURLINFO_HEADER_OUTLa chaîne de requête pour le handle de suivi lorsqu'il est activé. Disponible à partir de PHP 5.1.3. CURLINFO_Le préfixe est intentionnel.
CURLOPT_HTTPGETLorsqu'elle est activée, la méthode HTTP sera définie sur GET. Étant donné que GET est la valeur par défaut, elle n'est utilisée que lorsqu'elle l'est. modifié.
CURLOPT_HTTPPROXYTUNNELLorsqu'il est activé, il sera transmis via un proxy HTTP.
CURLOPT_MUTELorsqu'il est activé, tous les paramètres modifiés dans la fonction cURL seront restaurés à leur valeur par défaut valeurs.
CURLOPT_NETRCUne fois la connexion établie, accédez au fichier pour obtenir les informations de nom d'utilisateur et de mot de passe pour vous connecter au site distant.
CURLOPT_NOBODYLorsque cette option est activée, la partie CORPS en HTML ne sera pas affichée.
CURLOPT_NOPROGRESS

Fermez la barre de progression du transfert de boucles lorsqu'elle est activée, la valeur par défaut pour cet élément est défini sur activé.

Remarque :

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


CURLOPT_NOSIGNALLorsqu'il est activé, ignorer toutes les passes curl au signal php . Cet élément est activé par défaut lors de la transmission multithread SAPI. cURL a été ajouté dans la version 7.10.
CURLOPT_POSTLorsque activé, une requête POST régulière sera envoyée, de type : application/x-www-form- urlencoded , tout comme la soumission d'un formulaire.
CURLOPT_PUT permet à HTTP d'envoyer des fichiers lorsqu'il est activé et doit également définir CURLOPT_INFILE et CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFERRenvoyer les informations obtenues par curl_exec() sous la forme d'un flux de fichier à la place de sortie directe.
CURLOPT_SSL_VERIFYPEERLorsque cURL est désactivé, il mettra fin à la vérification du serveur. Utilisez l'option CURLOPT_CAINFO pour définir le certificat. Utilisez l'option CURLOPT_CAPATH pour définir le répertoire du certificat.           Si CURLOPT_SSL_VERIFYPEER (la valeur par défaut est 2) est activé, CURLOPT_SSL_VERIFYHOST doit être défini sur TRUE, sinon défini sur FALSE. est par défaut TRUE depuis cURL 7.10. À partir de cURL 7.10, l'installation du bundle est effectuée par défaut.
CURLOPT_TRANSFERTEXT Utilisez le mode ASCII pour les transferts FTP lorsqu'il est activé. 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_AUTHEn-têtes multiples générés à l'aide de CURLOPT_FOLLOWLOCATION Les informations sur le nom d'utilisateur et le mot de passe continuent à ajouter aux emplacements, même si le nom de domaine a changé.
CURLOPT_UPLOADActiver pour autoriser les téléchargements de fichiers.
CURLOPT_VERBOSELorsque cette option est activée, toutes les informations seront signalées et stockées dans STDERR ou 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 :

est utilisé pour spécifier le port de connexion. (Facultatif) CURLOPT_PROTOCOLS. 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_PROXYAUTH pour définir les options correspondantes. Pour l'authentification proxy, seuls CURLOPT_PROXYPORT. Définissez le nombre maximum de secondes pendant lesquelles cURL est autorisé à s'exécuter. Définissez le nombre maximum de millisecondes pendant lesquelles cURL est autorisé à s'exécuter. a été ajouté dans cURL 7.16.2. Disponible à partir de PHP 5.2.3. Définir un horodatage utilisé par



Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur une valeur de type chaîne :

OptionsFacultatifvaleurValeurRemarques
CURLOPT_BUFFERSIZELa taille du cache lue dans les données obtenues à chaque fois, mais rien ne garantit que cette valeur sera remplie à chaque fois. a été ajouté dans cURL 7.10.
CURLOPT_CLOSEPOLICYSoit CURLCLOSEPOLICY_LEAST_RECENTLY_USED, soit CURLCLOSEPOLICY_OLDEST Il existe trois autres CURLCLOSEPOLICY, mais cURL ne les prend pas encore en charge.
CURLOPT_CONNECTTIMEOUTLe temps d'attente avant d'établir une connexion S'il est défini sur 0, il le sera. attendre indéfiniment.
CURLOPT_CONNECTTIMEOUT_MSLe temps d'attente en millisecondes pour une tentative de connexion. S'il est défini sur 0, attendez indéfiniment. a été ajouté dans cURL 7.16.2. Disponible à partir de PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUTDéfinissez l'heure d'enregistrement des informations DNS en mémoire, la valeur par défaut est de 120 secondes.
CURLOPT_FTPSSLAUTHMéthode de vérification FTP : CURLFTPAUTH_SSL (essayez d'abord SSL) , CURLFTPAUTH_TLS (essayez d'abord TLS) ou CURLFTPAUTH_DEFAULT (laissez cURL décider automatiquement). a été ajouté dans cURL 7.12.2.
CURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_NONE (valeur par défaut, laissez cURL décider quelle version utiliser), CURL_HTTP_VERSION_1_0 (forcer HTTP/1.0) ou CURL_HTTP_VERSION_1_1 (forcer HTTP/1.1).
CURLOPT_INFILESIZEDéfinissez la limite de taille des fichiers téléchargés en octets.
CURLOPT_LOW_SPEED_LIMITLorsque la vitesse de transfert est inférieure à CURLOPT_LOW_SPEED_LIMIT (octets /sec ), PHP utilisera CURLOPT_LOW_SPEED_TIME pour déterminer s'il faut annuler la transmission car elle est trop lente.
CURLOPT_LOW_SPEED_TIMELorsque la vitesse de transfert est inférieure à CURLOPT_LOW_SPEED_LIMIT (octets /sec ), PHP utilisera CURLOPT_LOW_SPEED_TIME pour déterminer s'il faut annuler la transmission car elle est trop lente.
CURLOPT_MAXCONNECTSLe nombre maximum de connexions autorisées, en cas de dépassement, CURLOPT_CLOSEPOLICY Décidez quelles connexions doivent être interrompues.
CURLOPT_MAXREDIRSSpécifie le nombre maximum de redirections HTTP. Cette option est la même que <🎜. > Utilisé avec CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT
CURLOPT_PROTOCOLSPointeur Bitfield vers 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 LE, CURLPROTO_TFTP, CURLPROTO_ALL dans cURL 7.19 a été ajouté. Les champs de bits de
CURLPROTO_*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_FI LE, CURL. PROTO_TFTP, CURLPROTO_ALL dans cURL 7.19. 4 a été ajouté.
Méthode de vérification pour la connexion proxy HTTP. Utilisez les indicateurs de champ de bits dans CURLOPT_HTTPAUTHCURLAUTH_BASIC et CURLAUTH_NTLM sont actuellement pris en charge. a été ajouté dans cURL 7.10.7.
Le port du serveur proxy. Le port peut également être défini dans CURLOPT_PROXY
CURLOPT_PROXYTYPE est soit CURLPROXY_HTTP (par défaut) ou CURLPROXY_SOCKS5. a été ajouté dans cURL 7.10. La valeur du champ de bits dans
CURLOPT_REDIR_PROTOCOLSCURLPROTO_*. 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. a été ajouté dans cURL 7.19.4.
CURLOPT_RESUME_FROMPassez un décalage d'octet lors de la reprise de la transmission (utilisé pour la reprise de la transmission).
CURLOPT_SSL_VERIFYHOST1 Vérifiez si un nom commun existe dans le certificat SSL du serveur. Note du traducteur : 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_SSLVERSIONLa 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_TIMECONDITIONSi après un certain temps précisé par CURLOPT_TIMEVALUE Si a été modifié, utilisez CURL_TIMECOND_IFMODSINCE pour revenir à la page. S'il n'a pas été modifié et que CURLOPT_HEADER est vrai, un en-tête "304 Not Modified" sera. retourné. < Si 🎜>CURLOPT_HEADER est faux, utilisez CURL_TIMECOND_IFUNMODSINCE, et la valeur par défaut est CURL_TIMECOND_IFUNMODSINCE.
CURLOPT_TIMEOUT
CURLOPT_TIMEOUT_MS
CURLOPT_TIMEVALUECURLOPT_TIMECONDITION Par défaut, CURL_TIMECOND_IFMODSINCE est utilisé . .
CURLOPT_SSL_VERIFYPEERCURLOPT_COOKIE"Cookie : ""). Remplacez HEAD" sous forme de requête HTTP. Ceci est utile pour exécuter "DELETE""POST"Passez le nom d'utilisateur et le mot de passe requis pour une connexion au format :
OptionsFacultatifvaleurValeurRemarques
CURLOPT_CAINFOUn nom de fichier qui contient un ou plusieurs certificats pour la vérification du serveur. Ce paramètre n'a de sens que lorsqu'il est utilisé avec CURLOPT_SSL_VERIFYPEER. . Cette option s'utilise avec .
Définir le partie du HTTP demander du contenu. Plusieurs cookies sont séparés par un point-virgule suivi d'un espace (par exemple, "
fruit=apple; color=red
CURLOPT_COOKIEFILELe nom du fichier contenant les données du cookie peut être Netscape. format. Ou enregistrez simplement les informations d’en-tête HTTP pures dans le fichier.
CURLOPT_COOKIEJARUn fichier qui enregistre les informations sur les cookies une fois la connexion terminée.
CURLOPT_CUSTOMREQUEST par un message de demande personnalisé GET"
ou
ou d'autres requêtes HTTP plus secrètes. Les valeurs valides incluent "GET", ,

"CONNECT", etc. Autrement dit, n'entrez pas l'intégralité de la requête HTTP ici. Par exemple, saisir "GET /index.html HTTP/1.0rnrn" est incorrect. Remarque :N'utilisez pas cette méthode de requête personnalisée tant que vous n'êtes pas sûr que le serveur la prend en charge.


CURLOPT_EGDSOCKET Semblable à CURLOPT_RANDOM_FILE, à l'exception d'un Prise du démon de collecte d'entropie.
CURLOPT_ENCODINGEn-tête de requête HTTP "Accept-Encoding : " valeur . Les encodages pris en charge sont "identity", "deflate" et "gzip". S'il s'agit d'une chaîne vide "", l'en-tête de la requête enverra tous les types d'encodage pris en charge. a été ajouté dans cURL 7.10.
CURLOPT_FTPPORTCette 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_INTERFACELe nom de l'interface d'envoi du réseau, qui peut être un nom d'interface, une adresse IP ou un nom d'hôte.
CURLOPT_KRB4LEVELNiveau de sécurité KRB4 (Kerberos 4). Toutes les valeurs suivantes sont valides (par ordre décroissant) : "clear", "safe", "confidential", "privé".. Si la chaîne ne correspond à aucun de ces éléments, "private" sera utilisé. Définir cette option sur NULL désactivera l'authentification de sécurité KRB4. Actuellement, l'authentification de sécurité KRB4 ne peut être utilisée que pour la transmission FTP.
CURLOPT_POSTFIELDSToutes 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 via une chaîne codée en urlen comme 'para1=val1¶2=val2&...' ou en utilisant 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_PROXYCanal proxy HTTP.
CURLOPT_PROXYUSERPWDA "[nom d'utilisateur]:[ mot de passe]" chaîne de formatage.
CURLOPT_RANDOM_FILEUn nom de fichier utilisé pour générer des graines de nombres aléatoires SSL.
CURLOPT_RANGE sous la forme de "X-Y", où X et Y est la plage de données facultatives obtenues, mesurée en octets. Le fil de transfert HTTP prend également en charge plusieurs doublons de ce type séparés par des virgules tels que "X-Y,N-M".
CURLOPT_REFERERDans l'en-tête de la requête HTTP "Référent : " contenu .
CURLOPT_SSL_CIPHER_LISTUne liste d'algorithmes de cryptage SSL. Par exemple, RC4-SHA et TLSv1 sont toutes deux des listes de chiffrement disponibles.
CURLOPT_SSLCERTUn nom de fichier contenant un certificat au format PEM.
CURLOPT_SSLCERTPASSWDLe mot de passe requis pour utiliser le certificat CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPELe type de certificat. Les formats pris en charge sont "PEM" (par défaut), "DER" et "ENG". a été ajouté dans cURL 7.9.3.
CURLOPT_SSLENGINEVariable du moteur de cryptographie utilisée pour la clé privée SSL spécifiée dans CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULTVariable utilisée pour les opérations de chiffrement asymétrique.
CURLOPT_SSLKEYLe nom du fichier contenant la clé privée SSL.
CURLOPT_SSLKEYPASSWD

SSL spécifié dans CURLOPT_SSLKEY Le mot de passe pour la clé privée.

Remarque :

Étant donné que cette option contient des informations de mot de passe sensibles, n'oubliez pas de conserver ce script PHP en sécurité.


CURLOPT_SSLKEYTYPECURLOPT_SSLKEY Le type de cryptage de la clé privée. Les types de clés pris en charge sont "PEM"(valeur par défaut), "DER" et "ENG".
CURLOPT_URLL'adresse URL à obtenir peut également être obtenue dans curl_init()Défini en fonction.
CURLOPT_USERAGENTInclure un "User-Agent : "< dans la requête HTTP 🎜>Chaîne d'en-tête.
CURLOPT_USERPWD "[nom d'utilisateur] :[mot de passe]".



Pour ces options ci-dessous Facultatif paramètre, la valeur doit être définie sur un tableau :

Options peuvent sélectionner< em class="reset">valeur

Valeur
Remarques
选项可选value备注
CURLOPT_HTTP200ALIASES200响应码数组,数组中的响应吗被认为是正确的响应,否则被认为是错误的。在cURL 7.10.3中被加入。
CURLOPT_HTTPHEADER一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE在FTP请求执行完成后,在服务器上执行的一组FTP命令。
CURLOPT_QUOTE一组先于FTP请求的在服务器上执行的FTP命令。
<🎜><🎜><🎜> CURLOPT_HTTP200ALIASES< 🎜><🎜><🎜>Tableau de 200 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. <🎜><🎜> a été ajouté dans cURL 7.10.3. <🎜><🎜><🎜><🎜><🎜>CURLOPT_HTTPHEADER<🎜><🎜><🎜>Un tableau utilisé pour définir les champs d'en-tête HTTP. Utilisez un tableau de la forme suivante pour définir : array('Type de contenu : texte/plain', 'Longueur du contenu : 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. <🎜><🎜><🎜><🎜><🎜><🎜><🎜>


对于下面的这些option的可选参数,value应该被设置一个流资源 (例如使用fopen()):

选项可选value
CURLOPT_FILE设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。
CURLOPT_INFILE在上传文件的时候需要读取的文件地址,值是一个资源类型。
CURLOPT_STDERR设置一个错误输出地址,值是一个资源类型,取代默认的STDERR
CURLOPT_WRITEHEADER设置header部分内容的写入的文件地址,值是一个资源类型。


对于下面的这些option的可选参数,value应该被设置为一个回调函数名:

选项可选value
CURLOPT_HEADERFUNCTION设置一个回调函数,这个函数有两个参数,第一个是cURL的资源句柄,第二个是输出的header数据。header数据的输出必须依赖这个函数,返回已写入的数据大小。
CURLOPT_PASSWDFUNCTION设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个密码提示符,第三个参数是密码长度允许的最大值。返回密码的值。
CURLOPT_PROGRESSFUNCTION设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个文件描述符资源,第三个是长度。返回包含的数据。
CURLOPT_READFUNCTION回调函数名。该函数应接受三个参数。第一个是 cURL resource;第二个是通过选项 CURLOPT_INFILE 传给 cURL 的 stream resource;第三个参数是最大可以读取的数据的数量。回 调函数必须返回一个字符串,长度小于或等于请求的数据量(第三个参数)。一般从传入的 stream resource 读取。返回空字符串作为 EOF(文件结束) 信号。
CURLOPT_WRITEFUNCTION回调函数名。该函数应接受两个参数。第一个是 cURL resource;第二个是要写入的数据字符串。数 据必须在函数中被保存。函数必须返回准确的传入的要写入数据的字节数,否则传输会被一个错误所中 断。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例

初始化一个新的cURL会话并获取一个网页

<?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);
?>
Copier après la connexion


上传文件实例:

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array(&#39;name&#39; => &#39;Foo&#39;, &#39;file&#39; => &#39;@/home/user/test.png&#39;);

curl_setopt($ch, CURLOPT_URL, &#39;http://localhost/upload.php&#39;);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>
Copier après la connexion

以上实例输出结果如下:

Introduction au concept et exemples dutilisation de la fonction php curl_setopt

注释

传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。

【相关文章推荐】

PHP curl_exec函数的用法实例详解

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!