Maison > Article > développement back-end > Premiers pas avec PHP : extension CURL
PHP est un langage largement utilisé dans le développement Web et CURL est l'une des extensions les plus utilisées en PHP. Cet article vous présentera l'utilisation et l'application de base de CURL pour aider les débutants à démarrer rapidement.
1. Introduction à CURL
CURL est un outil de ligne de commande qui utilise la syntaxe URL pour transférer des données. C'est également une bibliothèque qui prend en charge plusieurs protocoles et peut s'exécuter sur plusieurs plates-formes. Lors de l'utilisation de l'extension CURL en PHP, elle est principalement utilisée pour la communication réseau via des protocoles tels que HTTP et HTTPS pour envoyer des données à d'autres serveurs, obtenir des réponses du serveur, simuler la soumission de formulaires, etc.
2. Installation de CURL
Pour utiliser l'extension CURL en PHP, vous devez confirmer que l'environnement local prend en charge la bibliothèque CURL. Sous Linux et Mac OS
Une fois l'installation terminée, vous pouvez vérifier si elle a été installée via la fonction phpinfo()
S'il est indiqué que la prise en charge de curl
est activée, cela signifie que le support curl
est activé. L'extension CURL est prête.
3. Utilisation de base de CURLphpinfo()
函数查看是否已经安装完毕,如果提示curl
支持已启用,则表示CURL扩展已经准备就绪。
三、CURL的基本用法
发送GET请求的基础格式为:
sudo apt-get install libcurl4-openssl-dev // Debian/Ubuntu sudo yum install curl-devel // CentOS/Fedora
其中,curl_init()
函数用于初始化一个CURL对象,curl_setopt()
函数用于设置CURL请求的选项,curl_exec()
函数用于执行CURL请求并获取响应结果,curl_close()
函数用于关闭CURL对象。
在上述例子中,我们使用curl_setopt()
函数设置了请求的URL、CURLOPT_RETURNTRANSFER
选项和CURLOPT_HEADER
选项。其中,CURLOPT_RETURNTRANSFER
选项设置为1时,表示将获取的响应结果以字符串的形式返回。CURLOPT_HEADER
选项设置为0时,则表示在响应结果中不包含响应头部信息。
发送POST请求的基本格式为:
<?php //创建CURL对象 $ch = curl_init(); //设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://api.example.com/user?id=123"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //执行CURL请求并获取响应结果 $output = curl_exec($ch); //关闭CURL对象 curl_close($ch); //输出响应结果 echo $output; ?>
其中,curl_setopt()
函数新增了两个选项:CURLOPT_POST
和CURLOPT_POSTFIELDS
。CURLOPT_POST
选项设置为1时,表示采用POST方式发送请求,CURLOPT_POSTFIELDS
选项设置为字符串时,表示将这些数据作为POST请求的正文发送。
需要注意的是,为了能够正确地将POST数据发送给服务器,需要设置正确的Content-Type
头部信息。这可以通过curl_setopt()
函数的CURLOPT_HTTPHEADER
选项进行设置。
四、CURL的进阶用法
可以通过curl_setopt()
函数的CURLOPT_HTTPHEADER
选项来设置HTTP头部信息。
<?php //创建CURL对象 $ch = curl_init(); //设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://api.example.com/user"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "id=123&name=John"); //执行CURL请求并获取响应结果 $output = curl_exec($ch); //关闭CURL对象 curl_close($ch); //输出响应结果 echo $output; ?>
以上代码设置了Content-Type头部信息为application/json,设置了一个名为Authorization的头部信息,并为其设置了值。这个头部信息的作用是为请求提供一个安全令牌,以便服务器能够验证请求的合法性。
SSL/TLS验证是一种通过判断加密证书的合法性来确保请求的安全性的机制。CURL提供了多种安全验证方式,可以通过curl_setopt()
函数的CURLOPT_SSL_VERIFYPEER
和CURLOPT_SSL_VERIFYHOST
Le format de base de l'envoi d'une requête GET est :
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer xxx'));
curl_init()
est utilisée pour initialiser. un objet CURL, La fonction curl_setopt()
permet de définir les options de la requête CURL, la fonction curl_exec()
permet d'exécuter la requête CURL et d'obtenir la réponse résultat, la fonction curl_close()
est utilisée pour fermer l'objet CURL. curl_setopt()
pour définir l'URL demandée, l'option CURLOPT_RETURNTRANSFER
et l'option CURLOPT_HEADER
. Parmi eux, lorsque l'option CURLOPT_RETURNTRANSFER
est définie sur 1, cela signifie que le résultat de la réponse obtenue sera renvoyé sous la forme d'une chaîne. Lorsque l'option CURLOPT_HEADER
est définie sur 0, cela signifie que les informations d'en-tête de réponse ne sont pas incluses dans le résultat de la réponse. Envoyer une requête POST
Le format de base de l'envoi d'une requête POST est :curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);Parmi eux, la fonction
curl_setopt()
ajoute deux nouvelles options : CURLOPT_POST
et CURLOPT_POSTFIELDS
. Lorsque l'option CURLOPT_POST
est définie sur 1, cela signifie que la requête est envoyée en mode POST. Lorsque l'option CURLOPT_POSTFIELDS
est définie sur une chaîne, cela signifie que ces données sont envoyées. envoyé comme corps de la requête POST. Il convient de noter que pour envoyer correctement les données POST au serveur, les informations d'en-tête Content-Type
correctes doivent être définies. Ceci peut être défini via l'option CURLOPT_HTTPHEADER
de la fonction curl_setopt()
. 🎜🎜4. Utilisation avancée de CURL🎜CURLOPT_HTTPHEADER
de la fonction curl_setopt()
. information. 🎜curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies');🎜Le code ci-dessus définit les informations d'en-tête Content-Type sur application/json, définit des informations d'en-tête nommées Authorization et définit une valeur pour celles-ci. Le but de cet en-tête est de fournir un jeton de sécurité pour la requête afin que le serveur puisse vérifier la légitimité de la requête. 🎜
CURLOPT_SSL_VERIFYPEER
et CURLOPT_SSL_VERIFYHOST
de la fonction curl_setopt()
. 🎜🎜Par exemple, le code suivant peut être utilisé pour désactiver la vérification du certificat SSL : 🎜curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies');🎜Il est à noter que dans les applications actuelles, il est très important d'activer autant que possible la vérification du certificat SSL pour assurer la sécurité de la demande. 🎜🎜🎜Traitement des cookies🎜🎜🎜CURL peut gérer automatiquement les cookies HTTP, ce qui offre une grande commodité pour la gestion des sessions utilisateur. Nous pouvons utiliser l'option CURLOPT_COOKIEJAR de la fonction curl_setopt() pour enregistrer les informations de cookie renvoyées par le serveur. 🎜rrreee🎜Lors de l'envoi de la requête suivante, utilisez l'option CURLOPT_COOKIEFILE de la fonction curl_setopt() pour spécifier le chemin du fichier où les informations du cookie sont enregistrées. 🎜rrreee🎜 4. Résumé🎜🎜Grâce à l'introduction de cet article, je pense que les lecteurs ont initialement compris l'utilisation de base de l'extension CURL, notamment l'envoi de requêtes GET/POST, la définition des informations d'en-tête HTTP, la vérification SSL/TLS et le traitement des cookies. aidez-nous à mieux programmer les communications réseau. Ensuite, vous pouvez essayer d'utiliser les extensions CURL pour développer des applications réseau pratiques, continuer à en apprendre davantage et améliorer vos compétences en programmation. 🎜
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!