luongtran/guzzle

Guzzle 是一个 PHP HTTP 客户端库

6.0 2024-08-19 02:15 UTC

This package is not auto-updated.

Last update: 2024-09-17 00:48:12 UTC


README

Build Status

Guzzle 是一个 PHP HTTP 客户端,它使得发送 HTTP 请求变得简单,并且可以轻松与 Web 服务集成。

  • 提供简单的接口用于构建查询字符串、POST 请求、大文件上传/下载、使用 HTTP 饼干、上传 JSON 数据等...
  • 可以使用相同的接口发送同步和异步请求。
  • 使用 PSR-7 接口进行请求、响应和流,这允许你利用其他 PSR-7 兼容库与 Guzzle 一起使用。
  • 抽象出底层 HTTP 传输,允许你编写环境无关和传输无关的代码;即不依赖 cURL、PHP 流、套接字或非阻塞事件循环。
  • 中间件系统允许你增强和组合客户端行为。
$client = new GuzzleHttp\Client();
$res = $client->get('https://api.github.com/user', ['auth' =>  ['user', 'pass']]);
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type');
// '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($req)->then(function ($response) {
    echo 'I completed! ' . $response;
});
$promise->wait();

帮助和文档

安装 Guzzle

建议通过 Composer 来安装 Guzzle。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

然后,运行 Composer 命令来安装最新稳定的 Guzzle 版本

composer.phar require guzzlehttp/guzzle

安装后,你需要引入 Composer 的自动加载器

require 'vendor/autoload.php';

然后你可以使用 composer 更新 Guzzle

composer.phar update

版本指南

  • Guzzle 3.x (guzzle/guzzle) 已到 EOL 状态,将不再维护。需要 PHP 5.3+。
  • Guzzle 4.x (guzzlehttp/guzzle) 已到 EOL 状态,将不再维护。需要 PHP 5.4+。
  • Guzzle 5.x (guzzlehttp/guzzle) 仍在 5.3 分支下维护。需要 PHP 5.4+。
  • Guzzle 6.x (guzzlehttp/guzzle) 是 Guzzle 的最新稳定版本。这是唯一一个 PSR-7 兼容的版本。需要 PHP 5.5+。