What might be even more useful, is libcurl's ability to separate the headers
from the data and thus make the callbacks differ. You can for example set a
different pointer to pass to the ordinary write callback by setting
-\fICURLOPT_WRITEHEADER(3)\fP.
+\fICURLOPT_HEADERDATA(3)\fP.
Or, you can set an entirely separate function to receive the headers, by using
\fICURLOPT_HEADERFUNCTION(3)\fP.