adrii / curl-helper
CurlHelper 是一个简洁的 PHP 工具,用于方便地使用 cURL,支持 GET、POST、PUT 和 DELETE 方法。它通过提供直观的选项和头部设置简化了 HTTP 请求,使 Web API 交互更加易于访问和高效。
1.9.3
2024-04-24 14:31 UTC
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
Requires (Dev)
- phpunit/phpunit: ^9.5
README
原作者: Adrii
CurlHelper
是一个简洁的 PHP 工具,用于方便地使用 cURL,支持 GET、POST、PUT 和 DELETE 方法。它通过提供直观的选项和头部设置简化了 HTTP 请求,使 Web API 交互更加易于访问和高效。
特性
- 多功能的 HTTP 支持: 支持 GET、POST、PUT 和 DELETE 方法,适用于各种 API 交互。
- 头部和选项自定义: 无需努力即可配置请求头部和 cURL 选项,以满足每个 API 调用的精确需求。
- 文件上传: 简化了 multipart/form-data 的处理,使文件上传变得简单。
- 数据灵活性: 可以轻松地在原始和数组数据输入之间切换,自动处理 JSON 和表单编码的数据内容类型。
- 调试模式: 激活详细日志记录以进行故障排除和优化,深入了解请求和响应周期。
要求
- PHP 7.4 或更高版本
- PHP 中启用了 cURL 扩展
安装
您可以将 CurlHelper
类复制到您的项目中,或者更理想的是,使用 Composer 自动加载。
composer require adrii/curl-helper
Composer
use Adrii\CurlHelper;
手册
require_once ROOT . 'CurlHelper.php';
使用
$curl = new CurlHelper();
方法
本节为用户快速入门,了解如何在项目中使用 CurlHelper
类,以处理各种 HTTP 请求,设置自定义头部,并启用调试模式以获取详细请求和响应信息。
GET 请求
$curl->setUrl('http://example.com/api/data'); $curl->setGetParams(['key' => 'value']); $curl->execute(); $response = $curl->response();
POST 请求
$curl->setUrl('http://example.com/api/data'); $curl->setPostParams(['key' => 'value']); $curl->execute(); $response = $curl->response();
PUT 请求
$curl = new CurlHelper(); $curl->setUrl('https://example.com/api/data/1'); $curl->setPutParams(['key' => 'updatedValue']); $curl->execute(); $response = $curl->response();
DELETE 请求
$curl = new CurlHelper(); $curl->setUrl('https://example.com/api/data/1'); $curl->execute(); $response = $curl->response();
设置自定义头部
$curl->setUrl('http://example.com/api/data'); $curl->setPostParams(['key' => 'value']); $curl->execute(); $response = $curl->response();
启用调试模式
$curl->setDebug(); $curl->execute(); $debugInfo = $curl->debug();
处理错误
execute
方法在 cURL 请求失败时抛出异常。请确保捕获这些异常并相应地处理。
try { $curl->execute(); } catch (\Exception $e) { echo "Error: " . $e->getMessage(); }
示例
以下示例涵盖了 CurlHelper 的基本使用场景。根据需要修改参数和 URL 以适应您的特定用例。
$url = '{url}'; $basic = '{basic}'; $curl = new CurlHelper(); $curl->setUrl($url); $curl->setPostParams([ 'param' => '{param}', 'type' => '{type}' ]); $curl->setHeaders([ "Authorization" => "Basic {$basic}" ], false); // Disable parse (dafault Enabled:true) $curl->setOptions([ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2_0, CURLOPT_CONNECTTIMEOUT => 30, ]); $curl->setMime("json"); $curl->setUtf8(); $curl->execute(); $response = $curl->response(); $code = $curl->http_code(); list($error, $msg) = $curl->parseCode();
贡献
欢迎拉取请求。对于重大更改,请先打开一个问题来讨论您想进行更改的内容。
请确保适当地更新测试。
许可证
CurlHelper 是开源软件,许可协议为 MIT