curl_copy_handle

(PHP 5, PHP 7, PHP 8)

curl_copy_handleCopy a cURL handle along with all of its preferences

Description

curl_copy_handle(CurlHandle $handle): CurlHandle|false

Copies a cURL handle keeping the same preferences.

Parameters

handle

A cURL handle returned by curl_init().

Return Values

Returns a new cURL handle, or false on failure.

Changelog

Version Description
8.0.0 handle expects a CurlHandle instance now; previously, a resource was expected.
8.0.0 On success, this function returns a CurlHandle instance now; previously, a resource was returned.

Examples

Example #1 Copying a cURL handle

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// copy the handle
$ch2 = curl_copy_handle($ch);

// grab URL (http://www.example.com/) and pass it to the browser
curl_exec($ch2);

// close cURL resources, and free up system resources
curl_close($ch2);
curl_close($ch);
?>
add a note

User Contributed Notes 1 note

up
4
administrator at proxy-list dot org
16 years ago
There is some internal curl error (CURLE_FAILED_INIT) when you are trying to use just copied curl handle in curl_multi_add_handle(). I have checked the same problematic PHP code but with little difference: instead of creating curl’s copy I have used the original one (template). As I expect code works without any error. I think curl_multi_* along with curl_copy_handle() is still raw and needs some improvements.

With best wishes

Vitali Simsive
To Top