esyede / curly

Standalone cURL library (single file, no dependencies)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

curly

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

About

Standalone cURL library (single file, no dependencies)

License:MIT License


Languages

Language:PHP 100.0%