ABCDEFGHIJKLMNOPQRSTUVWXYZ

curl_easy_getinfo

curl_easy_init(3)               libcurl Manual               curl_easy_init(3)



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  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 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 document 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 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 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 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 sec-
               onds, it took for all redirection steps  include  name  lookup,
               connect,  pretransfer and transfer before final transaction was
               started. CURLINFO_REDIRECT_TIME contains the complete execution
               time for multiple redirections.  (Added in 7.9.7)

       CURLINFO_REDIRECT_COUNT
               Pass  a  pointer to a long to receive the total number of redi-
               rections 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.

       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  certifi-
               cation   verification   that  was  requested  (using  the  CUR-
               LOPT_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  Content-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.  Otherwise  an
       appropriate error code will be returned.

SEE ALSO
       curl_easy_setopt(3)

BUGS
       Surely there are some, you tell me!



libcurl 7.9.7                     25 Apr 2002                curl_easy_init(3)