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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_SU...CT_HEADERS(3) Library Functions Manual CURLOPT_SU...CT_HEADERS(3)

NAME
       CURLOPT_SUPPRESS_CONNECT_HEADERS	 -  suppress  proxy  CONNECT  response
       headers

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_SUPPRESS_CONNECT_HEADERS, long onoff);

DESCRIPTION
       When CURLOPT_HTTPPROXYTUNNEL(3) is used and a CONNECT request is	 made,
       suppress	 proxy	CONNECT	 response headers from the user	callback func-
       tions CURLOPT_HEADERFUNCTION(3) and CURLOPT_WRITEFUNCTION(3).

       Proxy CONNECT response headers can complicate header  processing	 since
       it is essentially a separate set	of headers. You	can enable this	option
       to suppress those headers.

       For  example  let's assume an HTTPS URL is to be	retrieved via CONNECT.
       On success there	would normally be two sets of headers, and each	header
       line sent to the	header function	and/or the write  function.  The  data
       given to	the callbacks would look like this:

       HTTP/1.1	200 Connection established
       {headers}
       ...

       HTTP/1.1	200 OK
       Content-Type: application/json
       {headers}
       ...

       {body}
       ...

       However	by  enabling this option the CONNECT response headers are sup-
       pressed,	so the data given to the callbacks would look like this:

       HTTP/1.1	200 OK
       Content-Type: application/json
       {headers}
       ...

       {body}
       ...

DEFAULT
       0

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       int main(void)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

	   curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
	   curl_easy_setopt(curl, CURLOPT_PROXY, "http://foo:3128");
	   curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1L);
	   curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 1L);

	   curl_easy_perform(curl);

	   /* always cleanup */
	   curl_easy_cleanup(curl);
	 }
       }

AVAILABILITY
       Added in	curl 7.54.0

RETURN VALUE
       CURLE_OK	or an error such as CURLE_UNKNOWN_OPTION.

SEE ALSO
       CURLOPT_HEADER(3), CURLOPT_HTTPPROXYTUNNEL(3), CURLOPT_PROXY(3)

libcurl				  2025-06-03	    CURLOPT_SU...CT_HEADERS(3)

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

home | help