使用GuzzleHttp写一个并发请求demo
以下是一个使用GuzzleHttp进行并发请求的示例。该示例使用GuzzleHttp的Promise API,因此可以同时发出多个请求,并在所有请求完成后处理响应。
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use GuzzleHttp\Promise;
$client = new Client();
$promises = [
'google' => $client->getAsync('https://www.google.com'),
'yahoo' => $client->getAsync('https://www.yahoo.com'),
'bing' => $client->getAsync('https://www.bing.com')
];
$results = Promise\unwrap($promises);
foreach ($results as $key => $result) {
echo $key . ': ' . $result->getStatusCode() . "\n";
}
该示例创建了一个名为 $promises 的数组,其中包含三个异步请求。每个请求都使用 $client->getAsync 方法异步发出,然后将结果存储在 $promises 数组中。
然后,使用 Promise\unwrap 方法等待所有请求完成,并将结果存储在 $results 变量中。最后,使用 foreach 循环遍历 $results 数组,并输出每个请求的状态码。
请注意,该示例假设您已经安装了 GuzzleHttp。如果没有,请先使用 Composer 安装它:
composer require guzzlehttp/guzzle
原文地址: https://www.cveoy.top/t/topic/bYFD 著作权归作者所有。请勿转载和采集!