在 PHP 中, Guzzle 是一个功能强大且流行的 HTTP 客户端,提供了方便的接口来发送 HTTP 请求并处理响应,本人非常喜欢这个包且重度依赖。
以下是使用 Guzzle 发送并发请求的基本示例:
首先确保在你的项目中安装了 Guzzle。使用 Composer 进行安装,运行以下命令:
composer require guzzlehttp/guzzle;
use GuzzleHttp\Client;
use GuzzleHttp\Promise;
$client = new Client();
// 创建多个请求,请求地址可以相同,也可以不同
$promises = [
$client->getAsync('https://api.example.com/url1'),
$client->getAsync('https://api.example.com/url2'),
// 添加更多的请求...
];
//或者遍历某个二维数组或结果集
foreach($list as $k=>$v) {
$promises[$k] = $client->getAsync('https://api.example.com/url1');
}
// 发送并发请求,并等待所有请求完成(每个请求之间是异步的,因此效率非常高),返回一个响应数组
$responses = Promise\unwrap($promises);
// 处理响应
foreach ($responses as $k => $response) {
$result = $response->getBody()->getContents();
// $result即接口返回的body体,{code:0,message:ok,data:{}},可以使用json_decode转一下
}
来源地址:https://blog.csdn.net/qq_20362867/article/details/131600787