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