搜索

pdf文档 Guzzle PHP v5 Documentation

231.08 KB 49 页 0 下载 81 浏览 0 评论 0 收藏
所属分类: 后端开发 / PHP
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Guzzle PHP v5的响应处理、流数据操作以及异常处理机制。重点阐述了HTTP响应的结构、PSR-7流接口的使用、请求选项的配置、SSL验证和超时设置等内容。文档还提供了如何处理异步请求、自定义cURL选项以及如何解决SSL验证错误的示例。此外,还介绍了Guzzle的异常处理机制和环境变量配置。
AI总结
### 《Guzzle PHP v5 文档》总结 #### 1. 响应(Responses) - **HTTP响应**是客户端从服务器接收的消息,包含状态码、原因短语和协议版本。 - 使用`getStatusCode()`获取状态码,`getReasonPhrase()`获取原因短语,`getProtocolVersion()`获取协议版本。 - 示例: ```php $response = $client->request('GET', 'http://httpbin.org/get'); echo $response->getStatusCode(); // 200 echo $response->getReasonPhrase(); // OK echo $response->getProtocolVersion(); // 1.1 ``` #### 2. 主体(Body) - 使用`getBody()`方法获取响应主体。 - 主体可以被读取、重置位置(`seek()`)和读取字节(`read()`)。 #### 3. 流(Streams) - Guzzle 使用 PSR-7 流接口来处理请求和响应的主体。 - 流允许处理不同类型的数据,避免将整个主体存储在内存中。 - 流支持读取、写入和遍历操作,可通过`isReadable()`、`isWritable()`、`isSeekable()`方法检查流的特性。 - 示例: ```php $body = $response->getBody(); $body->seek(0); $body->read(1024); ``` #### 4. 异常处理(Exceptions) - Guzzle 抛出多种异常: - **RequestException**:网络错误(如超时、DNS错误)。 - **ClientException**:400 级别错误(如 404)。 - **ServerException**:500 级别错误。 - **TooManyRedirectsException**:重定向次数过多。 - 示例: ```php try { $client->request('GET', 'https://github.com/_abc_123_404'); } catch (RequestException $e) { echo Psr7\str($e->getRequest()); if ($e->hasResponse()) { echo Psr7\str($e->getResponse()); } } ``` #### 5. 环境变量(Environment Variables) - 通过环境变量自定义行为: - `GUZZLE_curl_SELECT_TIMEOUT`:控制 `curl_multi_*` 处理器的超时时间。 - `HTTP_PROXY`:定义 HTTP 代理。 #### 6. 快速入门(Quickstart) - 创建客户端并发送请求: ```php use GuzzleHttp\Client; $client = new Client([ 'base_uri' => 'http://httpbin.org', 'timeout' => 2.0, ]); $response = $client->request('GET', 'test'); ``` #### 7. 安全漏洞报告 - 如发现安全漏洞,请通过 `security@guzzlephp.org` 邮件联系维护团队。 #### 8. 常见问题(FAQ) - **SSL 验证错误**:设置 `verify` 选项为 `false` 或指定 CA 证书路径。 - **异步请求**:使用 `requestAsync` 方法发送异步请求。 - **自定义 cURL 选项**:通过 `curl` 请求选项设置。 #### 9. 测试(Testing) - 使用 PHPUnit 运行测试: ```bash make test ``` #### 10. 特性 - **可扩展性**:支持自定义处理程序和中间件。 - **异步支持**:通过 `Promise` 实现异步请求。 - **依赖管理**:通过 Composer 安装和管理依赖。 #### 11. 发行说明 - 版本:Guzzle v5,发布日期:2017年11月16日。 - 许可证:MIT 许可证。 #### 12. 安装与依赖 - 安装依赖: ```bash git clone https://github.com/guzzle/guzzle.git cd guzzle && curl -s http://getcomposer.org/installer | php && ./composer.phar install ``` #### 13. 最终说明 - Guzzle 是一个高性能的 HTTP 客户端,支持同步和异步请求,适用于需要灵活配置和扩展的场景。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 37 页请下载阅读 -
文档评分
请文明评论,理性发言.