NAME
curl_easy_getinfo - Extract information from a curl session
(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 docu
mentation 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 transfer 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 docu
ment is unknown. Note that you must tell the server
to collect this information before the transfer is
made, by using the CURLOPT_FILETIME 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 trans
fer.
CURLINFO_NAMELOOKUP_TIME
Pass a pointer to a double to receive the time, in
seconds, it took from the start until the name
resolving was completed.
CURLINFO_CONNECT_TIME
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 spe
cific 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_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.
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.
CURLINFO_HEADER_SIZE
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 specified
size of the upload. (Added in 7.6.1)
CURLINFO_CONTENT_TYPE
Pass a pointer to a 'char *' to receive the content-
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 Con
tent-Type header or that the protocol used doesn't
support this. (Added in 7.9.4)
RETURN VALUE
If the operation was successful, CURLE_OK is returned. Oth
erwise 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