Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。
- 接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。
- 发送同步或异步的请求均使用相同的接口。 使用PSR-7接口来请求、响应、分流,允许你使用其他兼容的PSR-7类库与Guzzle共同开发。
- 抽象了底层的HTTP传输,允许你改变环境以及其他的代码,如:对cURL与PHP的流或socket并非重度依赖,非阻塞事件循环。
- 中间件系统允许你创建构成客户端行为。
use GuzzleHttp\Client;
use GuzzleHttp\Promise;
class MyService extends BasicService
{
public function getCityListOther()
{
$url = Common::loadConfig('finance', 'getCityUrl', true);
$client = new Client(['connect_timeout' => 3, 'timeout' => 5,]);
$promises = [
'buying' => $client->getAsync($url.'?businessType=1'),
'license' => $client->getAsync($url.'?businessType=2'),
'deliver' => $client->getAsync($url.'?businessType=3'),
];
$results = Promise\unwrap($promises);
$myInfo1 = (string)$results['buying']->getBody();
$myInfo2 = (string)$results['license']->getBody();
$myInfo3 = (string)$results['deliver']->getBody();
$buyingArr = json_decode($myInfo1, true);
$licenseArr = json_decode($myInfo2, true);
$deliverArr = json_decode($myInfo3, true);
var_dump($buyingArr,$licenseArr,$deliverArr);
}
}