| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- .\" generated by cd2nroff 0.1 from CURLOPT_HEADER.md
- .TH CURLOPT_HEADER 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_HEADER \- pass headers to the data stream
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff);
- .fi
- .SH DESCRIPTION
- Pass the long value \fIonoff\fP set to 1 to ask libcurl to include the headers
- in the write callback (\fICURLOPT_WRITEFUNCTION(3)\fP). 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 \fICURLOPT_WRITEFUNCTION(3)\fP callback is limited to only ever
- get a maximum of \fICURL_MAX_WRITE_SIZE\fP bytes passed to it (16KB), while a
- header can be longer and the \fICURLOPT_HEADERFUNCTION(3)\fP supports getting
- called with headers up to \fICURL_MAX_HTTP_HEADER\fP bytes big (100KB).
- It is often better to use \fICURLOPT_HEADERFUNCTION(3)\fP to get the header
- data separately.
- While named confusingly similar, \fICURLOPT_HTTPHEADER(3)\fP is used to set
- custom HTTP headers!
- .SH DEFAULT
- 0
- .SH PROTOCOLS
- This functionality affects ftp, http, imap, pop3 and smtp
- .SH EXAMPLE
- .nf
- 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_perform(curl);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.1
- .SH RETURN VALUE
- Returns CURLE_OK.
- .SH SEE ALSO
- .BR CURLOPT_HEADERFUNCTION (3),
- .BR CURLOPT_HTTPHEADER (3)
|