dimj / leoninventguzzle
Guzzle 是一个 PHP HTTP 客户端库
7.8
2023-10-19 07:42 UTC
Requires
- php: ^7.2.5 || ^8.0
- ext-json: *
- guzzlehttp/promises: ^1.5.3 || ^2.0.1
- guzzlehttp/psr7: ^1.9.1 || ^2.5.1
- psr/http-client: ^1.0
- symfony/deprecation-contracts: ^2.2 || ^3.0
Requires (Dev)
- ext-curl: *
- bamarni/composer-bin-plugin: ^1.8.1
- php-http/client-integration-tests: dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999
- php-http/message-factory: ^1.1
- phpunit/phpunit: ^8.5.29 || ^9.5.23
- psr/log: ^1.1 || ^2.0 || ^3.0
Suggests
- ext-curl: Required for CURL handler support
- ext-intl: Required for Internationalized Domain Name (IDN) support
- psr/log: Required for using the Log middleware
Provides
README
Guzzle, PHP HTTP 客户端
Guzzle 是一个 PHP HTTP 客户端,它使得发送 HTTP 请求变得简单,并且可以轻松地与 Web 服务集成。
- 提供构建查询字符串、POST 请求、流式上传、流式下载、使用 HTTP Cookie、上传 JSON 数据等简单的接口...
- 可以使用相同的接口发送同步和异步请求。
- 使用 PSR-7 接口处理请求、响应和流。这允许您使用其他与 PSR-7 兼容的库与 Guzzle 一起使用。
- 支持 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 issue 讨论错误和新功能。有关支持,请参阅
安装 Guzzle
推荐通过 Composer 安装 Guzzle。
composer require guzzlehttp/guzzle
版本指南
安全
如果您在此包中发现安全漏洞,请发送电子邮件至 [email protected]。所有安全漏洞都将得到及时处理。请在修复宣布之前不要公开披露与安全相关的问题。请参阅 安全策略 了解更多信息。
许可证
Guzzle 在 MIT 许可证 (MIT) 下提供。有关更多信息,请参阅 许可证文件。
企业版
作为 Tidelift 订阅的一部分提供
Guzzle 的维护者与 Tidelift 合作,为构建应用程序时使用的开源依赖项提供商业支持和维护。节省时间,降低风险,并提高代码质量,同时支付您使用的确切依赖项的维护者。了解更多信息 (点击这里)