Maison > développement back-end > tutoriel php > Introduction à la fonction PHP — curl_multi_getcontent() : récupère le contenu d'une session cURL

Introduction à la fonction PHP — curl_multi_getcontent() : récupère le contenu d'une session cURL

王林
Libérer: 2023-07-26 15:02:01
original
1603 Les gens l'ont consulté

Introduction à la fonction PHP—curl_multi_getcontent() : Obtenez le contenu d'une session cURL

Dans le développement PHP, nous avons souvent besoin de demander des données à d'autres serveurs via le réseau. Et cURL (Client URL) est une puissante bibliothèque d'extensions PHP utilisée pour la communication réseau en PHP. cURL fournit une série de fonctions, dont curl_multi_getcontent(), qui est utilisée pour obtenir le contenu d'une session cURL.

La fonction curl_multi_getcontent() est utilisée pour obtenir le contenu de plusieurs sessions cURL créées à l'aide de la fonction curl_multi_init(). Lorsque vous utilisez la fonction curl_multi_exec() pour exécuter plusieurs sessions cURL, nous pouvons utiliser la fonction curl_multi_getcontent() pour obtenir les résultats de retour de chaque session. L'appel à cette fonction est très simple. Il vous suffit de transmettre un handle de ressource cURL en paramètre.

Voici un exemple de code utilisant la fonction curl_multi_getcontent() :

// 初始化cURL会话
$ch1 = curl_init('http://www.example.com/api1');
$ch2 = curl_init('http://www.example.com/api2');

// 创建一个新的cURL多个句柄
$mh = curl_multi_init();

// 将两个会话添加到多个句柄中
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// 执行多个句柄的cURL会话
do {
    $status = curl_multi_exec($mh, $active);
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

// 循环获取每个会话的内容
$contents = array();
foreach([$ch1, $ch2] as $ch) {
    $content = curl_multi_getcontent($ch);
    $contents[] = $content;
}

// 关闭多个句柄的cURL会话
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

// 输出获取到的内容
var_dump($contents);
Copier après la connexion

Dans le code ci-dessus, nous avons d'abord initialisé deux sessions cURL à l'aide de la fonction curl_init() et les avons ajoutées à une session cURL multi-handles. Ces sessions ont ensuite été exécutées à l'aide de la fonction curl_multi_exec(). Pendant l'exécution, nous utilisons la fonction curl_multi_getcontent() pour obtenir le contenu de chaque session et enregistrer le contenu dans un tableau. Enfin, utilisez la fonction curl_multi_remove_handle() et la fonction curl_multi_close() pour fermer plusieurs sessions.

Il est à noter qu'avant d'utiliser la fonction curl_multi_getcontent(), il faut d'abord s'assurer que la session a été exécutée, sinon le contenu risque de ne pas être obtenu correctement.

En résumé, la fonction curl_multi_getcontent() est une fonction très utile qui peut être utilisée pour obtenir le contenu de plusieurs sessions cURL. Lorsque vous demandez plusieurs API simultanément, vous pouvez l'utiliser pour obtenir les résultats de retour de chaque session afin de faciliter le traitement ultérieur.

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