Skip to content
Related Articles

Related Articles

Why use Guzzle Instead of cURL in PHP ?

View Discussion
Improve Article
Save Article
  • Last Updated : 17 Jan, 2022

What is cURL? 
cURL is a module in PHP with we can use libcurl. The libcurl is a library that is used in PHP to create connection and communicate with various kinds of different servers which may have different type of protocols. cURl provide us various pre-built functions like – curl_init(), curl_setopt(), curl_exec(), curl_close().
Limitations of cURL: 

  • cURL does not support any recursive download logic.
  • cURL requires extra options to download.
  • Does not provide us with asynchronus and synchronous requests.

Example: These are the request made by using cURL.


// Get cURL resource
$curl = curl_init();
// Set some options
curl_setopt($ch, CURLOPT_POST,
curl_setopt($ch, CURLOPT_POST, false) ;
curl_setopt($ch, CURLOPT_RETURNTANSFER, false) ;
$result = curl_exec($ch);


What is Guzzle? 
Guzzle is a Microframework (abstraction layer) that is a PHP HTTP client due to which the HTTP request is sent easily and it is trivial to integrate with web services. Guzzle can be used with any HTTP handler like cURL, socket, PHP’s stream wrapper. Guzzle by default uses cURL as Http handler. 
Why use Guzzle Instead of cURL in PHP? 

  • It provides easy user interface.
  • Guzzle can use various kinds of HTTP clients .
  • It allows us with the facility of asynchronus and synchronous requests.
  • Guzzle has built-in unit testing support which makes it easier to write unit tests for app and mock the http requests.

Example: These are the request made by using Guzzle.


use GuzzleHTTP\Client;
require '>>/vendor/autoload.php';
$client = new Client([
    'timeout' => 2.0
$response = $client->request('GET', 'ip');
echo $response->getStatusCOde(), "<br>";
$body = $response->getBody();
echo $body->getContents(), "<br>";
echo "<pre>";
echo "</pre>";
echo "<pre>";
echo "</pre>";



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!