adrii/curl-helper

CurlHelper 是一个简洁的 PHP 工具,用于方便地使用 cURL,支持 GET、POST、PUT 和 DELETE 方法。它通过提供直观的选项和头部设置简化了 HTTP 请求,使 Web API 交互更加易于访问和高效。

1.9.3 2024-04-24 14:31 UTC

This package is auto-updated.

Last update: 2024-09-24 15:23:17 UTC


README

原作者: Adrii

Test Latest Stable Version Total Downloads License

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