Maison >développement back-end >tutoriel php >Comment utiliser curl pour envoyer des requêtes en PHP
Cet article présente principalement l'utilisation de curl pour envoyer des requêtes (requêtes GET et requêtes POST) en PHP. L'éditeur pense que c'est plutôt bien, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil
Le processus de base d'envoi d'une requête à l'aide de CURL
L'utilisation de l'extension PHP de CURL pour finaliser l'envoi d'une requête HTTP comporte généralement les étapes suivantes :
1. Initialisez la poignée de connexion ;
2. Définissez les options CURL ;
3. 🎜>
// 1. 初始化 $ch = curl_init(); // 2. 设置选项,包括URL curl_setopt($ch,CURLOPT_URL,"http://www.devdo.net"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); // 3. 执行并获取HTML文档内容 $output = curl_exec($ch); if($output === FALSE ){ echo "CURL Error:".curl_error($ch); } // 4. 释放curl句柄 curl_close($ch);Quatre fonctions sont utilisées dans le code ci-dessus
Obtenir les informations de sortie de la requête CURL
Une fois la fonction curl_exec() exécutée, vous pouvez utiliser la fonction curl_getinfo() pour Pour obtenir la sortie pertinente des informations de la requête CURL, l'exemple de code est le suivant :curl_exec($ch); $info = curl_getinfo($sh); echo ' 获取 '.$info['url'].'耗时'.$info['total_time'].'秒';Dans le code ci-dessus, curl_getinfo renvoie un tableau associatif, contenant les données suivantes :
Utilisez CURL pour envoyer une requête GET
Comment utiliser CURL pour envoyer une requête GET La clé pour envoyer une requête GET est de. assemblez une URL au format correct. L'adresse de la requête et les données GET sont séparées par un "?", puis le nom et la valeur de la variable GET sont séparés par "=", et chaque nom et valeur GET sont connectés par "&". PHP nous fournit une fonction spécifiquement utilisée pour assembler la requête GET et les parties de données - http_build_query. Cette fonction accepte un tableau associatif et renvoie la chaîne de requête GET décrite par les données associées. En utilisant cette fonction, combinée au processus général d'envoi de requêtes HTTP CURL, nous avons fermé une fonction qui envoie des requêtes GET - doCurlGetRequest. Le code spécifique est le suivant :/** *@desc 封闭curl的调用接口,get的请求方式。 */ function doCurlGetRequest($url,$data,$timeout = 5){ if($curl == "" || $timeout <= 0){ return false; } $url = $url.'?'.http_bulid_query($data); $con = curl_init((string)$url); curl_setopt($con, CURLOPT_HEADER, false); curl_setopt($con, CURLOPT_RETURNTRANSFER,true); curl_setopt($con, CURLOPT_TIMEOUT, (int)$timeout); return curl_exec($con); }
Cette fonction transmet l'URL avec les paramètres GET assemblés à l'aide de http_build_query à la fonction curl_init, puis utilise CURL pour envoyer une requête HTTP.
Utilisez CURL pour envoyer une requête POST Vous pouvez utiliser l'option CURLOPT_POSTFIELDS fournie par CURL Définissez cette option sur les données de chaîne POST à mettre. la demande dans le texte. De même, nous avons implémenté une fonction pour envoyer une requête POST - doCurlPostRequest, le code est le suivant :
/** ** @desc 封装 curl 的调用接口,post的请求方式 **/ function doCurlPostRequest($url,$requestString,$timeout = 5){ if($url == '' || $requestString == '' || $timeout <=0){ return false; } $con = curl_init((string)$url); curl_setopt($con, CURLOPT_HEADER, false); curl_setopt($con, CURLOPT_POSTFIELDS, $requestString); curl_setopt($con, CURLOPT_POST,true); curl_setopt($con, CURLOPT_RETURNTRANSFER,true); curl_setopt($con, CURLOPT_TIMEOUT,(int)$timeout); return curl_exec($con); }
En plus de définir CURLOPT_POSTFIELDS dans le code ci-dessus , nous définissons également que CURL_POST est vrai, indiquant que cette requête est une requête POST. Les données GET peuvent également être transmises dans les requêtes POST. Il vous suffit d'assembler les données de la requête GET dans l'URL.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
Recommandations associées :
php implémente la méthode d'utilisation de curl pour simuler l'IP et la source d'accès
PHP implémente curl ou file_get_contents pour obtenir la page qui nécessite une autorisation
php utilise curlMéthodes pour implémenter la fonction de soumission de formulaire simulé
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!