在 PHP 中, Guzzle 是一個(gè)功能強(qiáng)大且流行的 HTTP 客戶端,提供了方便的接口來(lái)發(fā)送 HTTP 請(qǐng)求并處理響應(yīng),本人非常喜歡這個(gè)包且重度依賴。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-793545.html
以下是使用 Guzzle 發(fā)送并發(fā)請(qǐng)求的基本示例:?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-793545.html
composer require guzzlehttp/guzzle;
use GuzzleHttp\Client;
use GuzzleHttp\Promise;
$client = new Client();
// 創(chuàng)建多個(gè)請(qǐng)求,請(qǐng)求地址可以相同,也可以不同
$promises = [
? ? $client->getAsync('https://api.example.com/url1'),
? ? $client->getAsync('https://api.example.com/url2'),
? ? // 添加更多的請(qǐng)求...
];
//或者遍歷某個(gè)二維數(shù)組或結(jié)果集
foreach($list as $k=>$v) {
? ? $promises[$k] = $client->getAsync('https://api.example.com/url1');
}
// 發(fā)送并發(fā)請(qǐng)求,并等待所有請(qǐng)求完成(每個(gè)請(qǐng)求之間是異步的,因此效率非常高),返回一個(gè)響應(yīng)數(shù)組
$responses = Promise\unwrap($promises);
// 處理響應(yīng)
foreach ($responses as $k => $response) {
? ? $result =?$response->getBody()->getContents();
? ? // $result即接口返回的body體,{code:0,message:ok,data:{}},可以使用json_decode轉(zhuǎn)一下
}
到了這里,關(guān)于php使用guzzle http發(fā)送并發(fā)接口請(qǐng)求的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!