Guzzle文档

Guzzle是一个PHP HTTP客户端,它使发送HTTP请求变得很容易,并且与Web服务的整合也很简单。

  • 构建查询字符串、POST请求、大批量上传、大批量下载的简单接口 上传、下载、使用HTTP cookies、上传JSON数据。 等...
  • 可以使用同一个接口同时发送同步和异步请求。
  • 使用PSR-7接口进行请求、响应和流。这允许你 在Guzzle中使用其他兼容PSR-7的库。
  • 抽离了底层的HTTP传输,允许你编写与环境和传输无关的代码。 环境和传输无关的代码;也就是说,没有对cURL的硬依赖。 即不依赖于cURL、PHP流、socket或非阻塞事件循环。
  • 中间件系统允许你增强和编排客户行为。
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://api.github.com/user', [
    'auth' => ['user', 'pass']
]);
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type')[0];
// 'application/json; charset=utf8'
echo $res->getBody();
// {"type":"User"...'

// Send an asynchronous request.
$request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
$promise = $client->sendAsync($request)->then(function ($response) {
    echo 'I completed! ' . $response->getBody();
});
$promise->wait();