GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CURLOPT_HEADER(3) curl_easy_setopt options CURLOPT_HEADER(3)

CURLOPT_HEADER - pass headers to the data stream

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff);

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!

0

Most

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);
}

Provided in all libcurl versions.

Returns CURLE_OK.

CURLOPT_HEADERFUNCTION(3), CURLOPT_HTTPHEADER(3),
November 26, 2021 libcurl 7.83.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.