PHP cURL curl_reset() Function



The PHP cURL curl_reset() function is used to reset all the settings on the given cURL handle to their initial settings. This means that anything you have set up for a cURL session will be removed and you can start a new with the default settings.

Syntax

Below is the syntax of the PHP cURL curl_reset() function −

void curl_reset($ch)

Parameters

This function accepts $ch parameter which is the cURL session handle that you want to reset.

Return Value

The curl_reset() function only performs action and does not return any value.

PHP Version

This function was first introduced as part of core PHP 5.5.0 and work well with the PHP 7, PHP 8.

Example 1

First we will show you the basic example of the PHP cURL curl_reset() function to reset the settings on the given URL.

<?php
   // Start a curl handle
   $ch = curl_init();

   // Set CURLOPT_USERAGENT option
   curl_setopt($ch, CURLOPT_USERAGENT, "My test user-agent");

   // Reset all previously set options
   curl_reset($ch);

   // Send HTTP request
   curl_setopt($ch, CURLOPT_URL, 'http://abc123.com/');
   curl_exec($ch); 

   // Close the handle
   curl_close($ch);
?>

Output

This code will show the content of the given URL −

curl_reset Output

Example 2

In the below PHP code we will use the curl_reset() function and reset the cURL session and set new options for the cURL session.

<?php
   // Create a cURL session
   $ch = curl_init();

   // Set some options for the cURL session
   curl_setopt($ch, CURLOPT_URL, "http://example.com");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

   // Execute the cURL session
   $response = curl_exec($ch);

   // Reset the cURL session handle
   curl_reset($ch); 

   // Now you can set new options for the cURL session
   curl_setopt($ch, CURLOPT_URL, "http://anotherexample.com");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

   // Execute the cURL session again
   $response = curl_exec($ch);

   echo "It has reset all the settings on the given cURL handle!";

   // Close the cURL session
   curl_close($ch);

?> 

Output

Here is the output of the above code −

It has reset all the settings on the given cURL handle!

Example 3

In the below code, using the curl_reset() function we will reuse a cURL handle for multiple GET requests.

<?php
   // Create a cURL session
   $ch = curl_init();
   
   // Set options for the first request
   curl_setopt($ch, CURLOPT_URL, "http://example.com");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   
   // Execute the first request
   $res1 = curl_exec($ch);
   echo "Response from 1st request: " . $res1 . "\n";
   
   // Reset the cURL session handle
   curl_reset($ch);
   
   // Set options for the second request
   curl_setopt($ch, CURLOPT_URL, "http://abc123.com");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   
   // Execute the second request
   $res2 = curl_exec($ch);
   echo "Response from 2nd request: " . $res2 . "\n";
   
   // Close the cURL session
   curl_close($ch);
?> 

Output

It will show the content of both the URLs provided −

curl_reset Output

Example 4

In the following example, we are using the curl_reset() function to reuse a cURL handle for both the GET and POST requests.

<?php
   // Create a cURL session
   $ch = curl_init();
   
   // Set options for the GET request
   curl_setopt($ch, CURLOPT_URL, "http://example.com");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   
   // Execute the GET request
   $res1 = curl_exec($ch);
   echo "Response from GET request: " . $res1 . "\n";
   
   // Reset the session handle
   curl_reset($ch);
   
   // Set options for the POST request
   curl_setopt($ch, CURLOPT_URL, "http://example.org");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, "param1=value1&param2=value2");
   
   // Execute the POST request
   $res2 = curl_exec($ch);
   echo "Response from POST request: " . $res2 . "\n";
   
   // Close the session
   curl_close($ch);
?> 

Output

Here is the content from both the URLs will be displayed −

curl_reset Output
php_function_reference.htm
Advertisements