php使用guzzle http发送并发接口请求

在 PHP 中, Guzzle 是一个功能强大且流行的 HTTP 客户端,提供了方便的接口来发送 HTTP 请求并处理响应,本人非常喜欢这个包且重度依赖。

以下是使用 Guzzle 发送并发请求的基本示例: 

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转一下
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值