guzzlehttp/guzzle

Guzzle 是一个 PHP HTTP 客户端库

维护者

详细信息

github.com/guzzle/guzzle

源代码

问题

安装: 726,885,522

依赖项: 32,213

建议者: 650

安全: 6

星星: 23,123

关注者: 451

分支: 2,405

公开问题: 40

7.9.2 2024-07-24 11:22 UTC

README

Guzzle

Guzzle, PHP HTTP 客户端

Latest Version Build Status Total Downloads

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

  • 简单的接口用于构建查询字符串、POST 请求、大文件上传/下载流、使用 HTTP 钩子、上传 JSON 数据等...
  • 可以使用相同的接口发送同步和异步请求。
  • 使用 PSR-7 接口请求、响应和流。这允许您使用 Guzzle 利用其他 PSR-7 兼容的库。
  • 支持 PSR-18,允许与其他 PSR-18 HTTP 客户端之间的互操作性。
  • 抽象化底层的 HTTP 传输,允许您编写与环境无关的代码;即不依赖于 cURL、PHP 流、套接字或非阻塞事件循环。
  • 中间件系统允许您增强和组合客户端行为。
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');

echo $response->getStatusCode(); // 200
echo $response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
echo $response->getBody(); // '{"id": 1420053, "name": "guzzle", ...}'

// 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();

帮助和文档

我们只使用 GitHub 问题来讨论错误和新的特性。对于支持,请参考

安装 Guzzle

推荐通过 Composer 安装 Guzzle。

composer require guzzlehttp/guzzle

版本指导

安全

如果您在此包中发现安全漏洞,请向 [email protected] 发送电子邮件。所有安全漏洞都将得到及时处理。在修复宣布之前,请不要公开披露与安全相关的问题。请参阅 安全策略 获取更多信息。

许可

Guzzle 在 MIT 许可证 (MIT) 下提供。有关更多信息,请参阅 许可文件

对于企业

作为 Tidelift 订阅的一部分提供

Guzzle 的维护者以及成千上万的其他包维护者正在与 Tidelift 合作,为构建应用程序时使用的开源依赖项提供商业支持和维护。节省时间,降低风险,并提高代码健康,同时支付您确切依赖项的维护者。 了解更多。