esyede/curly

Standalone cURL library (single file, no dependencies)

v1.0.2 2023-02-13 08:45 UTC

This package is auto-updated.

Last update: 2024-05-13 11:33:23 UTC


README

Standalone cURL library (single file, no dependencies)

Requirements

  • PHP 5.4 or newer

Installation

Run the following command from your CLI to install package from the packagist

composer require esyede/curly

Sending request

Now, let's try sending simple request using this library:

Sending a GET request:

use Esyede\Curly;

$response = Curly::get('https://reqres.in/api/users?page=2');

Sending a POST request:

$parameters = ['name' =>  'Danang', 'age' => 25];

$response = Curly::post('https://reqres.in/api/users', $parameters);

Sending a PUT request:

$parameters = ['name' =>  'Agus', 'age' => 24];

$response = Curly::put('https://reqres.in/api/users', $parameters);

Sending a DELETE request:

$parameters = ['id' => 6];

$response = Curly::delete('https://reqres.in/api/users', $parameters);

Downloading file:

if (Curly::download('https://github.com/esyede/eddie/archive/master.zip', 'eddie.zip')) {
	// Yay! file is downloaded!
}

Receiving response

Every request will returns an stdClass object which has 2 properties:

  • $header that will contains the response headers.
  • $body that will contains the response body.

So, you can easily dump it to see what's inside:

print_r($response->header);

print_r($response->body);

Custom options

You can also add or replace default options with your custom options. For example, let's change the http header and redirection option:

$parameters =[];

$custom_options = [
	CURLOPT_FOLLOWLOCATION => true,
	CURLOPT_HTTPHEADER => [
		'Cache-Control: no-cache',
		'Accept-Encoding: gzip, deflate',
		'Accept-Language: en-US,en;q=0.5',
	],
];

$response = Curly::get('https://foobar.com', $parameters, $custom_options);

List of supported options is available on the PHP cURL documentation.

That's pretty much it. Thank you for stopping by!

License

This library is licensed under the MIT License