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