How to implement asynchronous requests of Baidu Wenxin Yiyan API in PHP?
Baidu Wenxin Yiyan API is an interface that provides random article excerpts. By calling this interface, we can get a selected excerpt of a beautiful article. This article will introduce how to use PHP to implement asynchronous requests to Baidu Wenxin Yiyan API.
First, we need to obtain the address and parameters of Baidu Wenxin Yiyan API. The address of Baidu Wenxin Yiyan API is http://api.vip68.com/. You only need to splice the interface you want to request after the address. The interface is divided into three forms: sentence, picture and voice. We can choose the appropriate interface according to our needs.
In PHP, we can use the cURL library to make asynchronous requests to the API. cURL is a powerful network tool that can handle a variety of different network requests. First, we need to enable the cURL extension in PHP.
Find and delete the semicolons before the following two lines in the php.ini file:
;extension=curl
;extension=openssl
Then restart the Apache server Enable the extension to take effect.
Next, we can implement asynchronous requests to Baidu Wenxin Yiyan API through the following code example:
<?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 '获取失败'; }
In the above example, we define a getWisdomQuote
Function is used to send asynchronous requests and get the return results. First, we need to set the requested URL and then initialize a cURL session using the curl_init
function.
Next, we set some cURL options, such as CURLOPT_RETURNTRANSFER
which tells cURL to save the result of the request into a variable instead of outputting it directly to the browser, CURLOPT_HEADER
Used to tell cURL not to return response headers.
Then, we use the curl_multi_add_handle
function to add the request handle to the curl_multi
object to implement asynchronous requests.
Finally, we use the curl_multi_exec
function to perform an asynchronous request, and use the curl_multi_getcontent
function to obtain the return result. Then, we decode the return result into JSON format through the json_decode
function, and process the result by determining whether the result exists.
Finally, we can call the getWisdomQuote
function in PHP to get the excerpt of Baidu Wenxin Yiyan and display the result on the page.
Through the above steps, we can implement asynchronous requests to Baidu Wenxin Yiyan API in PHP and obtain selected article excerpts. I hope this article will help you learn and use the PHP asynchronous request API!
The above is the detailed content of How to implement asynchronous requests of Baidu Wenxin Yiyan API in PHP?. For more information, please follow other related articles on the PHP Chinese website!