composer require "guzzlehttp/guzzle: 5.3.1"
use GuzzleHttp\Pool;
use GuzzleHttp\Message\Response;
$requests = [];
$url = 'http://xxxx.com';
$url2 = "http://xxx2.com";
$client = new Client();
$request = $client->createRequest('get', $url, ["timeout"=>1,"connect_timeout"=>1]);
$request2 = $client->createRequest('get', $url2, ["timeout"=>1,"connect_timeout"=>1]);
$requests[] = $request;
$requests[] = $request2;
$results = Pool::batch($client, $requests);
if(!$results->getResult($request) instanceof Response && !$results->getResult($request2) instanceof Response){
return [];
}
if($results->getFailures()){
$data = [];
$data2 = [];
}else{
$data = $results->getResult($request)->json();
$data2 = $results->getResult($request2)->json();
}
return [$data,$data2];
异步请求
try{
$client = new Client();
$req = $client->createRequest('GET', 'http://xxx.com?', ['future' => true,"timeout"=>1,"connect_timeout"=>1]);
$client->send($req)->then(function ($response){
//dump($response->json());
});
} catch (\Exception $e){
}