一个轻量级的PHP库,简化了使用cURL进行HTTP请求,提供了一种最小化方法来处理Web API,具有易于使用的界面和基本功能,非常适合小型项目。

v1.0.0 2024-09-14 22:33 UTC

This package is auto-updated.

Last update: 2024-09-14 22:36:24 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/jsonapplication/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。