************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel (at] haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ************************************************************************** CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.64.1" "curl_easy_setopt options"
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 headers
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, "http://example.com");
curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
curl_easy_perform(curl);
}
RETURN VALUE
Returns CURLE_OK.
"SEE ALSO"
CURLOPT_HEADERFUNCTION "(3), " CURLOPT_HTTPHEADER "(3), "