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

FreeBSD Manual Pages

  
 
  

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

NAME
       CURLOPT_CONNECT_ONLY - stop when	connected to target server

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only);

DESCRIPTION
       Pass a long. If the parameter equals 1, it tells	the library to perform
       all the required	proxy authentication and connection setup, but no data
       transfer, and then return.

       The  option can be used to simply test a	connection to a	server,	but is
       more useful when	 used  with  the  CURLINFO_ACTIVESOCKET(3)  option  to
       curl_easy_getinfo(3)  as	the library can	set up the connection and then
       the application can obtain the most recently used  socket  for  special
       data transfers.

       Since  7.86.0,  this  option can	be set to '2' and if HTTP or WebSocket
       are used, libcurl performs the request and reads	all  response  headers
       before handing over control to the application.

       Transfers marked	connect	only do	not reuse any existing connections and
       connections marked connect only are not allowed to get reused.

       If  the	connect	 only  transfer	is done	using the multi	interface, the
       particular easy handle must remain added	to the	multi  handle  for  as
       long  as	the application	wants to use it. Once it has been removed with
       curl_multi_remove_handle(3), curl_easy_send(3) and curl_easy_recv(3) do
       not function.

DEFAULT
       0

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       int main(void)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   CURLcode ret;
	   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
	   curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY,	1L);
	   ret = curl_easy_perform(curl);
	   if(ret == CURLE_OK) {
	     /*	only connected */
	   }
	 }
       }

HISTORY
       WS and WSS support added	in 7.86.0.

AVAILABILITY
       Added in	curl 7.15.2

RETURN VALUE
       curl_easy_setopt(3) returns a CURLcode indicating success or error.

       CURLE_OK	(0) means everything was OK, non-zero means an error occurred,
       see libcurl-errors(3).

SEE ALSO
       CURLOPT_HTTPPROXYTUNNEL(3),   CURLOPT_VERBOSE(3),    curl_easy_recv(3),
       curl_easy_send(3)

libcurl				  2025-06-03	       CURLOPT_CONNECT_ONLY(3)

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

home | help