Skip to content
Related Articles

Related Articles

Improve Article

Why use Guzzle Instead of cURL in PHP ?

  • Last Updated : 01 Jun, 2020

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 synchronus requests.

Example: These are the request made by using cURL.




<?php>
  
// 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);
curl_close($ch);
  
?>

Output:

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 synchronus 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.




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

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :