PHPackages                             codesaur/http-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. codesaur/http-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

codesaur/http-client
====================

HTTP хүсэлт илгээх болон MIME имэйл боловсруулах/илгээх энгийн хөнгөн жинтэй, объект хандалтат http-client компонент

v2.1.0(1mo ago)1501↓50%1MITPHPPHP ^8.2.1CI passing

Since Oct 9Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/codesaur-php/HTTP-Client)[ Packagist](https://packagist.org/packages/codesaur/http-client)[ Docs](https://github.com/codesaur-php)[ RSS](/packages/codesaur-http-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (39)Used By (1)

codesaur/http-client
====================

[](#codesaurhttp-client)

[![CI](https://github.com/codesaur-php/HTTP-Client/actions/workflows/ci.yml/badge.svg)](https://github.com/codesaur-php/HTTP-Client/actions)[![PHP Version](https://camo.githubusercontent.com/1015683ef28e870620edc19b6e22b456c0dc170c260fa4645905e93438f607a6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e322e312d3737374242342e7376673f6c6f676f3d706870)](https://www.php.net/)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

HTTP хүсэлт илгээх болон MIME имэйл боловсруулах/илгээх энгийн хөнгөн жинтэй, объект хандалтат http-client компонент.

---

Агуулга / Table of Contents
---------------------------

[](#агуулга--table-of-contents)

1. [Монгол](#1-%D0%BC%D0%BE%D0%BD%D0%B3%D0%BE%D0%BB-%D1%82%D0%B0%D0%B9%D0%BB%D0%B1%D0%B0%D1%80) | 2. [English](#2-english-description) | 3. [Getting Started](#3-getting-started)

---

1. Монгол тайлбар
-----------------

[](#1-монгол-тайлбар)

`codesaur/http-client` нь **codesaur ecosystem**-ийн нэг хэсэг бөгөөд хөнгөн жинтэй, фрэймворкоос үл хамааран standalone байдлаар ашиглаж болох PHP HTTP клиент компонент юм.

Багц нь дараах 4 үндсэн class-аас бүрдэнэ:

- **CurlClient** - cURL дээр суурилсан уян хатан HTTP клиент
- **JSONClient** - JSON өгөгдөлтэй REST API-тэй ажиллахад тохиромжтой
- **Response** - HTTP хариуг обьект хэлбэрээр илэрхийлэх (status code, headers, body)
- **Mail** - HTML + Text + олон хавсралттай MIME имэйл илгээгч

### Онцлох боломжууд

[](#онцлох-боломжууд)

- UTF-8 бүрэн дэмжлэг (нэрс, файлын нэр, гарчиг г.м.)
- Хөнгөн, хурдан, ямар ч фрэймворк дээр эсвэл дангаар ашиглаж болно
- Зөвхөн `ext-curl`, `ext-json` байхад л болно

### Дэлгэрэнгүй мэдээлэл

[](#дэлгэрэнгүй-мэдээлэл)

- [Бүрэн танилцуулга](docs/mn/README.md) - Суурилуулалт, хэрэглээ, жишээнүүд
- [API тайлбар](docs/mn/api.md) - Бүх метод, exception-үүдийн тайлбар
- [Шалгалтын тайлан](docs/mn/review.md) - Код шалгалтын тайлан

---

2. English description
----------------------

[](#2-english-description)

`codesaur/http-client` is part of the **codesaur ecosystem** and is a lightweight PHP HTTP client component that can be used standalone, independent of any framework.

The package consists of the following 4 core classes:

- **CurlClient** - flexible HTTP client based on cURL
- **JSONClient** - convenient for working with REST APIs with JSON data
- **Response** - HTTP response object with status code, headers, and body
- **Mail** - MIME email sender with HTML + Text + multiple attachments

### Key Features

[](#key-features)

- Full UTF-8 support (names, file names, headers, etc.)
- Lightweight, fast, can be used on any framework or standalone
- Only requires `ext-curl` and `ext-json`

### Documentation

[](#documentation)

- [Full Documentation](docs/en/README.md) - Installation, usage, examples
- [API Reference](docs/en/api.md) - Complete API documentation
- [Review](docs/en/review.md) - Complete package review and code quality assessment

---

3. Getting Started
------------------

[](#3-getting-started)

### Requirements

[](#requirements)

- PHP **8.2.1+**
- Composer
- `ext-curl` extension
- `ext-json` extension

### Installation

[](#installation)

Composer ашиглан суулгана / Install via Composer:

```
composer require codesaur/http-client
```

### Quick Examples

[](#quick-examples)

#### CurlClient - Ерөнхий HTTP клиент

[](#curlclient---ерөнхий-http-клиент)

```
use codesaur\Http\Client\CurlClient;

// CurlClient үүсгэх / Create CurlClient instance
$curl = new CurlClient();

// GET хүсэлт илгээх / Send GET request
$response = $curl->request(
    'https://httpbin.org/get',
    'GET'
);

// Response обьект авах / Get Response object
$res = $curl->send('https://httpbin.org/get');
echo $res->statusCode; // 200
echo $res->getHeader('Content-Type'); // application/json
print_r($res->json()); // decoded JSON array

// Файл upload хийх / Upload file
$res = $curl->upload('https://httpbin.org/post', '/path/to/file.pdf');

// Дахин оролдох / Retry on failure
$res = $curl->sendWithRetry('https://httpbin.org/get', retries: 3);

// Debug горим / Debug mode
$curl->enableDebug(true);
$curl->send('https://httpbin.org/get');
print_r($curl->getDebugLog());

// Хариуг хэвлэх / Print response
echo $response;
```

#### JSONClient - JSON API-тэй ажиллах

[](#jsonclient---json-api-тэй-ажиллах)

```
use codesaur\Http\Client\JSONClient;

// JSONClient үүсгэх / Create JSONClient instance
$client = new JSONClient();

// GET хүсэлт илгээх / Send GET request
$response = $client->get(
    'https://httpbin.org/get',
    ['hello' => 'world']
);

// POST хүсэлт илгээх / Send POST request
$response = $client->post(
    'https://httpbin.org/post',
    ['test' => 'codesaur']
);

// HTTP/1.1 хувилбар ашиглах (HTTP/2 алдаанаас сэргийлэх)
// Use HTTP/1.1 version (to prevent HTTP/2 errors)
$response = $client->post(
    'https://api.example.com/endpoint',
    ['data' => 'value'],
    ['Authorization' => 'Bearer token'],
    [CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1]
);

// Base URL ашиглах / Use Base URL
$api = new JSONClient('https://api.example.com/v1');
$users = $api->get('/users');

// PATCH хүсэлт / PATCH request (partial update)
$response = $client->patch(
    'https://httpbin.org/patch',
    ['status' => 'active']
);

// Хариуг хэвлэх / Print response
print_r($response);
```

#### Mail - MIME HTML + Хавсралттай имэйл клиент

[](#mail---mime-html--хавсралттай-имэйл-клиент)

```
use codesaur\Http\Client\Mail;

// Mail үүсгэх / Create Mail instance
$mail = new Mail();

// Хүлээн авагч тохируулах / Set recipient
$mail->targetTo('user@example.com', 'Хэрэглэгч');
// Илгээгч тохируулах / Set sender
$mail->setFrom('no-reply@example.com', 'codesaur');
// Гарчиг тохируулах / Set subject
$mail->setSubject('Сайн байна уу?');
// Зурвас тохируулах / Set message
$mail->setMessage('Hello!Тест имэйл.');

// Файл хавсралт нэмэх / Add file attachment
$mail->addFileAttachment(__DIR__ . '/file.pdf');
// URL-аас хавсралт нэмэх / Add attachment from URL
$mail->addUrlAttachment('https://example.com/logo.png');

// Имэйл илгээх / Send email
$mail->sendMail();
```

### Running Tests

[](#running-tests)

Тест ажиллуулах / Run tests:

```
# Бүх тестүүдийг ажиллуулах / Run all tests
composer test

# Зөвхөн unit тест / Unit tests only
composer test:unit

# Зөвхөн integration тест / Integration tests only
composer test:integration

# Coverage-тэй тест ажиллуулах / Run tests with coverage
composer test:coverage
```

---

Changelog
---------

[](#changelog)

- [CHANGELOG.md](CHANGELOG.md) - Full version history

Contributing &amp; Security
---------------------------

[](#contributing--security)

- [Contributing Guide](.github/CONTRIBUTING.md)
- [Security Policy](.github/SECURITY.md)

License
-------

[](#license)

This project is licensed under the MIT License.

Author
------

[](#author)

**Narankhuu**

**codesaur ecosystem:**

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance88

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~44 days

Recently: every ~18 days

Total

38

Last Release

58d ago

Major Versions

v1.9.0 → v2.0.02025-12-18

PHP version history (3 changes)v1.0PHP &gt;=7.2.0

v1.1.0PHP &gt;=8.2.1

v2.0.0PHP ^8.2.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/2281c1b7b23007da57ad0526923a5f822dea64629ab1cb70749188d2b869e55c?d=identicon)[codesaur](/maintainers/codesaur)

---

Top Contributors

[![codesaur](https://avatars.githubusercontent.com/u/4127594?v=4)](https://github.com/codesaur "codesaur (51 commits)")

---

Tags

httpclienthttp clientmailcodesaurmongolmongolianarankhuucodenкодзаврнаранхүүкоден

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/codesaur-http-client/health.svg)

```
[![Health](https://phpackages.com/badges/codesaur-http-client/health.svg)](https://phpackages.com/packages/codesaur-http-client)
```

###  Alternatives

[aplus/http-client

Aplus Framework HTTP Client Library

2161.6M1](/packages/aplus-http-client)[m6web/guzzle-http-bundle

Symfony bundle on top of Guzzle

17511.5k2](/packages/m6web-guzzle-http-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
