Maison  >  Article  >  développement back-end  >  Comment implémenter les requêtes asynchrones de l'API Baidu Wenxin Yiyan en PHP ?

Comment implémenter les requêtes asynchrones de l'API Baidu Wenxin Yiyan en PHP ?

WBOY
WBOYoriginal
2023-08-12 17:22:48935parcourir

Comment implémenter les requêtes asynchrones de lAPI Baidu Wenxin Yiyan en PHP ?

Comment implémenter les requêtes asynchrones de l'API Baidu Wenxin Yiyan en PHP ?

L'API Baidu Wenxinyiyan est une interface qui fournit des extraits d'articles aléatoires. En appelant cette interface, nous pouvons obtenir un extrait sélectionné d'un bel article. Cet article explique comment utiliser PHP pour implémenter des requêtes asynchrones à l'API Baidu Wenxin Yiyan.

Tout d'abord, nous devons obtenir l'adresse et les paramètres de l'API Baidu Wenxin Yiyan. L'adresse de l'API Baidu Wenxin Yiyan est http://api.vip68.com/. Il vous suffit de raccorder l'interface que vous souhaitez demander après l'adresse. L'interface est divisée en trois formes : phrase, image et voix. Nous pouvons choisir l'interface appropriée en fonction de nos besoins.

En PHP, nous pouvons utiliser la bibliothèque cURL pour faire des requêtes asynchrones à l'API. cURL est un outil réseau puissant capable de gérer une variété de requêtes réseau différentes. Tout d’abord, nous devons activer l’extension cURL en PHP.

Recherchez et supprimez les points-virgules avant les deux lignes suivantes dans le fichier php.ini :

;extension=curl
;extension=openssl

Puis redémarrez le serveur Apache pour que l'extension prenne effet.

Ensuite, nous pouvons implémenter des requêtes asynchrones à l'API Baidu Wenxin Yiyan via l'exemple de code suivant :

<?php

function getWisdomQuote() {
    $url = 'http://api.vip68.com/sentence/random';
    
    $ch = curl_init($url);
    
    // 设置cURL选项
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    
    // 发送异步请求
    curl_multi_add_handle($multi_handle, $ch);
    
    $running = null;
    do {
        curl_multi_exec($multi_handle, $running);
    } while ($running);
    
    // 获取返回结果
    $response = curl_multi_getcontent($ch);
    
    curl_multi_remove_handle($multi_handle, $ch);
    curl_multi_close($multi_handle);
    
    return $response;
}

// 调用函数获取返回结果
$result = getWisdomQuote();

// 处理返回结果
$result = json_decode($result, true);
if ($result && isset($result['data']['content'])) {
    echo $result['data']['content'];
} else {
    echo '获取失败';
}

Dans l'exemple ci-dessus, nous avons défini une fonction getWisdomQuote pour envoyer des requêtes asynchrones et obtenir les résultats renvoyés. Tout d'abord, nous devons définir l'URL demandée, puis utiliser la fonction curl_init pour initialiser une session cURL. getWisdomQuote函数用于发送异步请求并获取返回结果。首先,我们需要设置请求的URL,然后使用curl_init函数初始化一个cURL会话。

接着,我们设置了一些cURL选项,比如CURLOPT_RETURNTRANSFER用于告诉cURL将请求的结果保存到一个变量中而不是直接输出到浏览器,CURLOPT_HEADER用于告诉cURL不返回响应头部。

然后,我们使用curl_multi_add_handle函数将请求句柄添加到curl_multi对象中,以实现异步请求。

最后,我们使用curl_multi_exec函数执行异步请求,并使用curl_multi_getcontent函数获取返回结果。然后,我们通过json_decode函数将返回结果解码为JSON格式,并通过判断结果是否存在来处理结果。

最后,我们可以在PHP中调用getWisdomQuote

Ensuite, nous définissons certaines options de cURL, telles que CURLOPT_RETURNTRANSFER pour indiquer à cURL d'enregistrer le résultat de la requête dans une variable au lieu de l'afficher directement dans le navigateur, CURLOPT_HEADER utiliser Yu indique à cURL de ne pas renvoyer les en-têtes de réponse.

Ensuite, nous utilisons la fonction curl_multi_add_handle pour ajouter le handle de requête à l'objet curl_multi afin d'implémenter des requêtes asynchrones. 🎜🎜Enfin, nous utilisons la fonction curl_multi_exec pour effectuer la requête asynchrone, et utilisons la fonction curl_multi_getcontent pour obtenir le résultat de retour. Ensuite, nous décodons le résultat renvoyé au format JSON via la fonction json_decode et traitons le résultat en déterminant s'il existe. 🎜🎜Enfin, on peut appeler la fonction getWisdomQuote en PHP pour récupérer l'extrait de Baidu Wenxin Yiyan et afficher le résultat sur la page. 🎜🎜Grâce aux étapes ci-dessus, nous pouvons implémenter des requêtes asynchrones vers l'API Baidu Wenxin Yiyan en PHP et obtenir des extraits d'articles sélectionnés. J'espère que cet article vous aidera à apprendre et à utiliser l'API de requête asynchrone PHP ! 🎜

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!

Déclaration:
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