Maison > Article > développement back-end > Utiliser curl pour envoyer des requêtes (requêtes GET et requêtes POST) 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);
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 obtenez les informations de sortie des informations de requête CURL, l'exemple de code est le suivant :curl_exec($ch); $info = curl_getinfo($sh); echo ' 获取 '.$info['url'].'耗时'.$info['total_time'].'秒';
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. De plus, nous définissons également CURL_POST sur true, 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'apprentissage de chacun. J'espère également que tout le monde soutiendra le site Web PHP chinois.
Pour plus d'articles sur l'utilisation de curl pour envoyer des requêtes (requêtes GET et requêtes POST) en PHP, veuillez faire attention au site Web PHP chinois !
Articles associés :
Le problème du paramètre url lorsque PHP utilise curl pour lancer une requête get
Compétences en développement PHP (8) - Détails du code de demande CURL