Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_HEADER (3)

Name

CURLOPT_HEADER - pass headers to the data stream

Synopsis

#include <curl/curl.h>

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

Description

CURLOPT_HEADER(3)          curl_easy_setopt options          CURLOPT_HEADER(3)



NAME
       CURLOPT_HEADER - pass headers to the data stream

SYNOPSIS
       #include <curl/curl.h>

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

DESCRIPTION
       Pass  the long value onoff set to 1 to ask libcurl to include the head-
       ers in the write callback (CURLOPT_WRITEFUNCTION(3)).  This  option  is
       relevant  for  protocols  that actually have headers or other meta-data
       (like HTTP and FTP).

       When asking to get the headers passed to the same callback as the body,
       it  is  not possible to accurately separate them again without detailed
       knowledge about the protocol in use.

       Further: the CURLOPT_WRITEFUNCTION(3) callback is limited to only  ever
       get a maximum of CURL_MAX_WRITE_SIZE bytes passed to it (16KB), while a
       header can be longer and the CURLOPT_HEADERFUNCTION(3) supports getting
       called with headers up to CURL_MAX_HTTP_HEADER bytes big (100KB).

       It  is  often better to use CURLOPT_HEADERFUNCTION(3) to get the header
       data separately.

       While named confusingly similar, CURLOPT_HTTPHEADER(3) is used  to  set
       custom HTTP headers!

DEFAULT
       0

PROTOCOLS
       Most

EXAMPLE
       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_perform(curl);
       }

AVAILABILITY
       Provided in all libcurl versions.

RETURN VALUE
       Returns CURLE_OK.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_HEADERFUNCTION(3), CURLOPT_HTTPHEADER(3),



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was       downloaded      from       https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021             CURLOPT_HEADER(3)