curl_easy_getinfo

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
curl_easy_getinfo(3)		libcurl Manual		 curl_easy_getinfo(3)



NAME
       curl_easy_getinfo - extract information from a curl handle

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
       The following information can be extracted:

       CURLINFO_EFFECTIVE_URL
	      Pass a pointer to a ’char *’ to receive the last used effective
	      URL.

       CURLINFO_RESPONSE_CODE
	      Pass a pointer to a long to receive the last received  HTTP  or
	      FTP  code.  This	option	was  known  as	CURLINFO_HTTP_CODE in
	      libcurl 7.10.7 and earlier.

       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
	      transferred. 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. The amount is only for the latest  trans-
	      fer 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.

       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(3)).

       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.

       CURLINFO_CONTENT_LENGTH_UPLOAD
	      Pass a pointer to a double to receive the specified size of the
	      upload.

       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.

       CURLINFO_PRIVATE
	      Pass a pointer to a ’char *’ to receive the pointer to the pri-
	      vate  data  associated  with the curl handle (set with the CUR-
	      LOPT_PRIVATE option to curl_easy_setopt(3)). (Added in 7.10.3)

       CURLINFO_HTTPAUTH_AVAIL
	      Pass a pointer to a long to receive a  bitmask  indicating  the
	      authentication  method(s) available. The meaning of the bits is
	      explained	   in	  the	  CURLOPT_HTTPAUTH     option	  for
	      curl_easy_setopt(3).  (Added in 7.10.8)

       CURLINFO_PROXYAUTH_AVAIL
	      Pass  a  pointer	to a long to receive a bitmask indicating the
	      authentication method(s) available for your  proxy  authentica-
	      tion.  (Added in 7.10.8)

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)



libcurl 7.10.8			 20 Aug 2003		 curl_easy_getinfo(3)