Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curl_easy_duphandle(3)	   Library Functions Manual	curl_easy_duphandle(3)

NAME
       curl_easy_duphandle - clone an easy handle

SYNOPSIS
       #include	<curl/curl.h>

       CURL *curl_easy_duphandle(CURL *handle);

DESCRIPTION
       This function returns a new curl	handle,	a duplicate, using all the op-
       tions  previously set in	the input curl handle. Both handles can	subse-
       quently be  used	 independently	and  they  must	 both  be  freed  with
       curl_easy_cleanup(3).

       Any options that	the input handle has been told to point	to (as opposed
       to  copy) with previous calls to	curl_easy_setopt(3), are pointed to by
       the new handle as well. You must	therefore make sure to keep  the  data
       around until both handles have been cleaned up.

       The  new	handle does not	inherit	any state information, no connections,
       no SSL sessions and no cookies. It also does not	inherit	any share  ob-
       ject  states  or	 options  (created  as	if CURLOPT_SHARE(3) was	set to
       NULL).

       If the source handle has	HSTS or	alt-svc	enabled,  the  duplicate  gets
       data read data from the main filename to	populate the cache.

       In  multi-threaded programs, this function must be called in a synchro-
       nous way, the input handle may not be in	use when cloned.

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       int main(void)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   CURLcode res;
	   CURL	*nother;
	   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
	   nother = curl_easy_duphandle(curl);
	   res = curl_easy_perform(nother);
	   curl_easy_cleanup(nother);
	   curl_easy_cleanup(curl);
	 }
       }

AVAILABILITY
       Added in	curl 7.9

RETURN VALUE
       If this function	returns	NULL, something	went wrong and no valid	handle
       was returned.

SEE ALSO
       curl_easy_cleanup(3),	  curl_easy_init(3),	   curl_easy_reset(3),
       curl_global_init(3)

libcurl				  2025-06-03		curl_easy_duphandle(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curl_easy_duphandle&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help