curl_easy_getinfo - Extract information from a curl ses-
sion (added in 7.4)
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...
);
DESCRIPTION
Request internal information from the curl session with
this function. The third argument MUST be a pointer to a
long, a pointer to a char * or a pointer to a double (as
this documentation describes further down). The data
pointed-to will be filled in accordingly and can be relied
upon only if the function returns CURLE_OK. This function
is intended to get used *AFTER* a performed transfer, all
results from this function are undefined until the trans-
fer is completed.
AVAILABLE INFORMATION
These are informations that can be extracted:
CURLINFO_EFFECTIVE_URL
Pass a pointer to a 'char *' to receive the last
used effective URL.
CURLINFO_HTTP_CODE
Pass a pointer to a long to receive the last
received HTTP code.
CURLINFO_FILETIME
Pass a pointer to a long to receive the remote
time of the retrieved document. If you get -1, it
can be because of many reasons (unknown, the
server hides it or the server doesn't support the
command that tells document time etc) and the time
of the document is unknown. Note that you must
tell the server to collect this information before
the transfer is made, by using the CURLOPT_FILE-
TIME option to curl_easy_setopt(3). (Added in 7.5)
CURLINFO_TOTAL_TIME
Pass a pointer to a double to receive the total
transaction time in seconds for the previous
transfer. This time does not include the connect
time, so if you want the complete operation time,
you should add the CURLINFO_CONNECT_TIME.
CURLINFO_NAMELOOKUP_TIME
Pass a pointer to a double to receive the time, in
seconds, it took from the start until the name
Pass a pointer to a double to receive the time, in
seconds, it took from the start until the connect
to the remote host (or proxy) was completed.
CURLINFO_PRETRANSFER_TIME
Pass a pointer to a double to receive the time, in
seconds, it took from the start until the file
transfer is just about to begin. This includes all
pre-transfer commands and negotiations that are
specific to the particular protocol(s) involved.
CURLINFO_STARTTRANSFER_TIME
Pass a pointer to a double to receive the time, in
seconds, it took from the start until the first
byte is just about to be transfered. This includes
CURLINFO_PRETRANSFER_TIME and also the time the
server needs to calculate the result.
CURLINFO_REDIRECT_TIME
Pass a pointer to a double to receive the total
time, in seconds, it took for all redirection
steps include name lookup, connect, pretransfer
and transfer before final transaction was started.
CURLINFO_REDIRECT_TIME contains the complete exe-
cution time for multiple redirections. (Added in
7.9.7)
CURLINFO_REDIRECT_COUNT
Pass a pointer to a long to receive the total num-
ber of redirections that were actually followed.
(Added in 7.9.7)
CURLINFO_SIZE_UPLOAD
Pass a pointer to a double to receive the total
amount of bytes that were uploaded.
CURLINFO_SIZE_DOWNLOAD
Pass a pointer to a double to receive the total
amount of bytes that were downloaded. The amount
is only for the latest transfer and will be reset
again for each new transfer.
CURLINFO_SPEED_DOWNLOAD
Pass a pointer to a double to receive the average
download speed that curl measured for the complete
download.
CURLINFO_SPEED_UPLOAD
Pass a pointer to a double to receive the average
upload speed that curl measured for the complete
upload.
Pass a pointer to a long to receive the total size
of all the headers received.
CURLINFO_REQUEST_SIZE
Pass a pointer to a long to receive the total size
of the issued requests. This is so far only for
HTTP requests. Note that this may be more than one
request if FOLLOWLOCATION is true.
CURLINFO_SSL_VERIFYRESULT
Pass a pointer to a long to receive the result of
the certification verification that was requested
(using the CURLOPT_SSL_VERIFYPEER option to
curl_easy_setopt). (Added in 7.4.2)
CURLINFO_CONTENT_LENGTH_DOWNLOAD
Pass a pointer to a double to receive the content-
length of the download. This is the value read
from the Content-Length: field. (Added in 7.6.1)
CURLINFO_CONTENT_LENGTH_UPLOAD
Pass a pointer to a double to receive the speci-
fied size of the upload. (Added in 7.6.1)
CURLINFO_CONTENT_TYPE
Pass a pointer to a 'char *' to receive the con-
tent-type of the downloaded object. This is the
value read from the Content-Type: field. If you
get NULL, it means that the server didn't send a
valid Content-Type header or that the protocol
used doesn't support this. (Added in 7.9.4)
CURLINFO_PRIVATE
Pass a pointer to a 'char *' to receive the
pointer to the private data associated with the
curl handle (set with the CURLOPT_PRIVATE option
to curl_easy_setopt). (Added in 7.10.3)
RETURN VALUE
If the operation was successful, CURLE_OK is returned.
Otherwise an appropriate error code will be returned.
SEE ALSO
curl_easy_setopt(3)
BUGS
Surely there are some, you tell me!
Man(1) output converted with
man2html