Que vous souhaitiez récupérer des données partielles d'un lien, prendre un fichier XML et l'importer dans une base de données, ou même simplement récupérer le contenu d'une page Web, cURL est une puissante bibliothèque PHP. Cet article décrit principalement comment utiliser cette bibliothèque PHP.
Activation des paramètres cURL
Tout d'abord, nous devons d'abord déterminer si notre PHP a cette bibliothèque activée. Vous pouvez obtenir cette information en utilisant la fonction php_info().
<?php phpinfo(); ?>
Si vous pouvez voir le résultat suivant sur la page Web, cela signifie que la bibliothèque cURL a été activée.
Si vous voyez ceci, alors vous devez configurer votre PHP et activer cette bibliothèque. Si vous êtes sur la plateforme Windows, c'est très simple. Vous devez modifier les paramètres de votre fichier php.ini, rechercher php_curl.dll et annuler le commentaire point-virgule précédent. Comme indiqué ci-dessous :
//Annulez le commentaire ci-dessous
extension=php_curl.dll
Si vous êtes sous Linux, alors vous devez recompiler votre PHP lors de l'édition, vous devez activer le . paramètres de compilation - ajoutez le paramètre "-with-curl" à la commande configure.
Un petit exemple
Si tout est prêt, voici une petite routine :
<?php // 初始化一个 cURL 对象 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, 'http://jb51.net'); // 设置header curl_setopt($curl, CURLOPT_HEADER, 1); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 运行cURL,请求网页 $data = curl_exec($curl); // 关闭URL请求 curl_close($curl); // 显示获得的数据 var_dump($data);
Comment POSTER des données
Ce qui précède est le code pour explorer la page Web, et ce qui suit est de l'envoyer à une certaine page Web POST data. Supposons que nous ayons une URL de traitement de formulaire http://www.example.com/sendSMS.php, qui peut accepter deux champs de formulaire, l'un est un numéro de téléphone et l'autre est le contenu d'un message texte.
<?php $phoneNumber = '13912345678'; $message = 'This message was generated by curl and php'; $curlPost = 'pNUMBER=' . urlencode($phoneNumber) . '&MESSAGE=' . urlencode($message) . '&SUBMIT=Send'; $ch = curl_init();chain link fencing curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/sendSMS.php'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec(); curl_close($ch); ?>
À partir du programme ci-dessus, nous pouvons voir qu'il utilise CURLOPT_POST pour définir la méthode POST du protocole HTTP au lieu de la méthode GET, puis définir les données POST avec CURLOPT_POSTFIELDS.
À propos du serveur proxy
Ce qui suit est un exemple d'utilisation d'un serveur proxy. Veuillez faire attention au code en surbrillance. Le code est très simple, je n'ai donc pas besoin d'en dire plus.
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.example.com'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXY, 'fakeproxy.com:1080'); curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password'); $data = curl_exec(); curl_close($ch); ?>
À propos de SSL et des cookies
À propos de SSL, qui est le protocole HTTPS Pour les générateurs de gaz, il vous suffit de remplacer le http:// dans la connexion CURLOPT_URL par https://. Bien entendu, il existe également un paramètre appelé CURLOPT_SSL_VERIFYHOST qui peut être défini pour vérifier le site.
A propos des cookies, vous devez connaître les trois paramètres suivants :
CURLOPT_COOKIE, définir un cookie lors de la session en face-à-face
CURLOPT_COOKIEJAR, enregistrer un cookie à la fin de la session
CURLOPT_COOKIEFILE, le cookie déposer.
Authentification du serveur HTTP
Enfin, jetons un coup d'œil à l'authentification du serveur HTTP.
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.example.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt(CURLOPT_USERPWD, '[username]:[password]') $data = curl_exec(); curl_close($ch); ?>
Pour plus d'informations, veuillez vous référer au manuel cURL correspondant.
Pour plus d'introduction aux fonctions de la bibliothèque cURL de PHP, veuillez prêter attention au site Web chinois de PHP pour explorer les pages Web, les données POST et d'autres articles connexes !