PHPackages                             piedweb/curl - 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. piedweb/curl

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

piedweb/curl
============

curl OOP Wrapper

0.1.890(4mo ago)138.6k↓16.2%16MITPHPPHP &gt;=8.4

Since Jan 7Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/PiedWeb/curl)[ Packagist](https://packagist.org/packages/piedweb/curl)[ Docs](https://dev.piedweb.com)[ RSS](/packages/piedweb-curl/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (191)Used By (6)

Curl OOP Wrapper
================

[](#curl-oop-wrapper)

[![Latest Version](https://camo.githubusercontent.com/915a3c827db18da1da606d1fa38b9c926b4c0b8fab39d981142e2f949740c2c8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7461672f506965645765622f506965645765622e7376673f7374796c653d666c6174266c6162656c3d72656c65617365)](https://github.com/PiedWeb/PiedWeb/tags)[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE)[![GitHub Tests Action Status](https://camo.githubusercontent.com/99edef5bb98e341114d3f938b6eeb8831cd37e46cfa945154e1a17b6c439f056/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f506965645765622f506965645765622f72756e2d74657374732e796d6c3f6272616e63683d6d61696e)](https://github.com/PiedWeb/PiedWeb/actions)[![Quality Score](https://camo.githubusercontent.com/afefb9c71d9eb75d21eabf82f8606570641e7d80374b13c8d21a9f2745731000/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f506965645765622f506965645765622e7376673f7374796c653d666c6174)](https://scrutinizer-ci.com/g/PiedWeb/PiedWeb)[![Code Coverage](https://camo.githubusercontent.com/ad1c5df148038d50b23b6d13436b75553ac9e6d133450cf73859c7bec532334b/68747470733a2f2f636f6465636f762e696f2f67682f506965645765622f506965645765622f6272616e63682f6d61696e2f67726170682f62616467652e737667)](https://codecov.io/gh/PiedWeb/PiedWeb/branch/main)[![Type Coverage](https://camo.githubusercontent.com/92a9cae37a1391395968437e74aca983df381125f0db54069dbe9d52f4a5d483/68747470733a2f2f73686570686572642e6465762f6769746875622f506965645765622f506965645765622f636f7665726167652e737667)](https://shepherd.dev/github/PiedWeb/PiedWeb)[![Total Downloads](https://camo.githubusercontent.com/dc9e578df1a6492ef1cdc1d2184dfeda7f483602f2b5c67fcd6b2475b8a6111d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f706965647765622f6375726c2e7376673f7374796c653d666c6174)](https://packagist.org/packages/piedweb/curl)

Simple PHP Curl OOP wrapper for efficient request.

For a more complex or abstracted curl wrapper, use [Guzzle](https://guzzle.readthedocs.io/en/latest/).

Install
-------

[](#install)

Via [Packagist](https://img.shields.io/packagist/dt/piedweb/curl.svg?style=flat)

```
$ composer require piedweb/curl
```

Usage
-----

[](#usage)

Quick Example :

```
$url = 'https://piedweb.com';
$request = new \PiedWeb\Curl\ExtendedClient($url);
$request
    ->setDefaultSpeedOptions(true)
    ->setDownloadOnlyIf('PiedWeb\Curl\Helper::checkContentType') // 'PiedWeb\Curl\Helper::checkStatusCode'
    ->setDesktopUserAgent()
;
$result = $request->request();
if ($result instanceof \PiedWeb\Curl\Response) {
    $content = $this->getContent();
}
```

Static Wrapper Methods :

```
use PiedWeb\Curl\StaticClient as Client;

Client::request($url); // @return ?string
Client::get(); // @return PiedWeb\Curl\ExtendedClient
Client::reset()
```

All Other Methods :

```
$r = new PiedWeb\Curl\ExtendedClient(?string $url);
$r
    ->setOpt(CURLOPT_*, mixed 'value')

	// Preselect Options to avoid eternity wait
    ->setDefaultGetOptions($connectTimeOut = 5, $timeOut = 10, $dnsCacheTimeOut = 600, $followLocation = true, $maxRedirs = 5)
    ->setDefaultSpeedOptions() // no header except if setted, 1 redir max, no ssl check
    ->setNoFollowRedirection()
    ->setReturnOnlyHeader()
    ->setCookie(string $cookie)
    ->setReferer(string $url)
    ->fakeBrowserHeader(bool $doIt = true)
    ->setUserAgent(string $ua)
    ->setDesktopUserAgent()
    ->setMobileUserAgent()
    ->setLessJsUserAgent()
        ->getUserAgent() // @return string

    ->setDownloadOnlyIf(callable $func) // @param $ContentType can be a String or an Array
    ->setMaximumResponseSize(int $tooBig = 200000) // @defaut 2Mo
    ->setDownloadOnly($range = '0-500')

    ->setPost(array $post)

    ->setEncodingGzip()

    ->setProxy(string '[scheme]proxy-host:port[:username:passwrd]') // Scheme, username and passwrd are facultatives. Default Scheme is http://

    ->setTarget($url)
        ->getTarget()

    $r->request(); // @return true if request succeed else false (see getError)

$response = $r->getResponse(); // @return PiedWeb\Curl\Response or int corresponding to the curl error

$response->getUrl(); // @return string
$response->getContentType(); // @return string
$response->getContent(); // @return string
$response->getHeaders($returnArray = true); // @return array Response Header (or in a string if $returnArray is set to false)
$response->getCookies(); // @return string
$response->getUrl(); // @return string

$response->getError(); // Equivalent to curl function curl_errno
$response->getErrorMessage(); // .. curl_error

use PiedWeb\Curl\ResponseFromCache;

$response = new ResponseFromCache(  // same methods than Response except getRequest return null
    string $filePathOrContent,
    ?string $url = null,
    array $info = [],
    $headers = PHP_EOL.PHP_EOL
);
```

Contributing
------------

[](#contributing)

Please see [contributing](https://dev.piedweb.com/contributing)

Credits
-------

[](#credits)

- [PiedWeb](https://piedweb.com)
- [All Contributors](https://github.com/PiedWeb/:package_skake/graphs/contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

[![Open Source Package](https://raw.githubusercontent.com/PiedWeb/piedweb-devoluix-theme/master/src/img/logo_title.png)](https://dev.piedweb.com)

###  Health Score

59

—

FairBetter than 99% of packages

Maintenance83

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 70.1% 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 ~13 days

Recently: every ~0 days

Total

189

Last Release

149d ago

PHP version history (8 changes)0.0.1PHP ~7.1

v0.0.18PHP ^7.1|^8.0

0.1.01PHP ^8.0

0.1.06PHP &gt;=8.0

0.1.13PHP &gt;=8.1

0.1.78PHP &gt;=8.2

0.1.796PHP &gt;=8.3

0.1.879PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/afce4cf517928a50560237f1410d5957271fd808671b2216687ecf1422adaee0?d=identicon)[Robin D.](/maintainers/Robin%20D.)

---

Top Contributors

[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (47 commits)")[![RobinDev](https://avatars.githubusercontent.com/u/3944894?v=4)](https://github.com/RobinDev "RobinDev (20 commits)")

---

Tags

apicurlhttphttp-clientphpcurlPied Web

### Embed Badge

![Health badge](/badges/piedweb-curl/health.svg)

```
[![Health](https://phpackages.com/badges/piedweb-curl/health.svg)](https://phpackages.com/packages/piedweb-curl)
```

###  Alternatives

[rmccue/requests

A HTTP library written in PHP, for human beings.

3.6k34.5M258](/packages/rmccue-requests)[kriswallsmith/buzz

Lightweight HTTP client

2.0k31.3M443](/packages/kriswallsmith-buzz)[nategood/httpful

A Readable, Chainable, REST friendly, PHP HTTP Client

1.8k17.2M267](/packages/nategood-httpful)[mashape/unirest-php

Unirest PHP

1.3k9.7M161](/packages/mashape-unirest-php)[php-http/curl-client

PSR-18 and HTTPlug Async client with cURL

48347.0M384](/packages/php-http-curl-client)[smi2/phpclickhouse

PHP ClickHouse Client

84310.1M71](/packages/smi2-phpclickhouse)

PHPackages © 2026

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