adaiasmagdiel / cururu
一个轻量级的PHP库,简化了使用cURL进行HTTP请求,提供了一种最小化方法来处理Web API,具有易于使用的界面和基本功能,非常适合小型项目。
v1.0.0
2024-09-14 22:33 UTC
README
Cururu 是一个轻量级的PHP库,旨在简化使用cURL进行HTTP请求。它提供了一种处理Web API的最简化方法,提供了一种易于使用的界面和基本功能。这使得它非常适合需要高效处理HTTP请求且不需要大型库开销的小型项目。
功能
- 制作HTTP请求的简单直观界面。
- 可选的基本URL配置,或者您可以直接在请求中使用完整的URL。
- 可配置的头部和超时。
- SSL验证切换,用于安全或不安全的请求。
- cURL错误处理和自动响应解析。
- 支持POST请求中的JSON、表单数据和URL编码正文。
- 轻量级且易于集成到任何PHP项目中。
安装
要将Cururu包含到您的项目中,请使用Composer。首先,请确保您已安装Composer,然后运行以下命令
composer require adaiasmagdiel/cururu
用法
基本示例
<?php require 'vendor/autoload.php'; use AdaiasMagdiel\Cururu\Cururu; // Initialize Cururu with optional base URL and headers $cururu = new Cururu('https://api.example.com', ['Authorization' => 'Bearer your_token']); // Make a GET request $response = $cururu->get('/resource'); // Get response content if ($response->isSuccessful()) { echo $response->getContent(); } else { echo "Request failed with status: " . $response->getStatusCode(); } // Make a POST request with JSON data $response = $cururu->post('/resource', ['name' => 'Cururu'], ['Content-Type' => 'application/json']); if ($response->isSuccessful()) { $json = $response->getJson(); print_r($json); }
不使用基本URL使用完整URL
Cururu允许您完全跳过基本URL,并在请求方法中使用完整的URL。
$cururu = new Cururu(); // Make a GET request using the full URL $response = $cururu->get('https://api.example.com/resource');
设置自定义头部
您可以为每个请求或实例全局设置额外的头部。
$cururu = new Cururu('https://api.example.com', ['Authorization' => 'Bearer your_token']); $customHeaders = ['Custom-Header' => 'CustomValue']; $response = $cururu->get('/resource', $customHeaders);
处理POST请求
Cururu支持POST请求的不同内容类型,如application/json
和application/x-www-form-urlencoded
。
$data = ['name' => 'Cururu', 'description' => 'Simple HTTP client']; $response = $cururu->post('/resource', $data, ['Content-Type' => 'application/json']); if ($response->isSuccessful()) { echo "Resource created successfully!"; }
错误处理
Cururu为cURL操作提供错误处理。如果请求失败,将抛出一个带有描述性错误消息的异常。
try { $response = $cururu->get('/invalid-endpoint'); } catch (Exception $e) { echo "Error: " . $e->getMessage(); }
响应处理
Cururu提供了一个Response
对象,封装了HTTP响应,提供了用于处理响应内容、状态码和头部的方法。
$response = $cururu->get('/resource'); // Get status code $status = $response->getStatusCode(); // Get response content as JSON $data = $response->getJson(); // Get specific header $contentType = $response->getHeader('Content-Type');
许可证
Cururu受MIT许可证的许可。
贡献
欢迎贡献!请将此仓库fork并提交包含您更改的pull request。