curl_easy_getinfo.html   [plain text]


<HTML>
<BODY>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
       curl_easy_getinfo  -  Extract information from a curl ses-
       sion (added in 7.4)


</PRE>
<H2>SYNOPSIS</H2><PRE>
       <B>#include</B> <B>&lt;curl/curl.h&gt;</B>

       <B>CURLcode</B> <B>curl_easy_getinfo(CURL</B> <B>*curl,</B> <B>CURLINFO</B> <B>info,</B>  <B>...</B>
       <B>);</B>


</PRE>
<H2>DESCRIPTION</H2><PRE>
       Request  internal  information  from the curl session with
       this function.  The third argument <B>MUST</B> 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.


</PRE>
<H2>AVAILABLE INFORMATION</H2><PRE>
       These are informations that can be extracted:

       <B>CURLINFO_EFFECTIVE_URL</B>
               Pass  a  pointer to a 'char *' to receive the last
               used effective URL.

       <B>CURLINFO_HTTP_CODE</B>
               Pass a pointer to  a  long  to  receive  the  last
               received HTTP code.

       <B>CURLINFO_FILETIME</B>
               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 <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt(3)</I>. (Added in 7.5)

       <B>CURLINFO_TOTAL_TIME</B>
               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.

       <B>CURLINFO_NAMELOOKUP_TIME</B>
               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.

       <B>CURLINFO_PRETRANSFER_TIME</B>
               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.

       <B>CURLINFO_STARTTRANSFER_TIME</B>
               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.

       <B>CURLINFO_REDIRECT_TIME</B>
               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)

       <B>CURLINFO_REDIRECT_COUNT</B>
               Pass a pointer to a long to receive the total num-
               ber  of  redirections that were actually followed.
               (Added in 7.9.7)

       <B>CURLINFO_SIZE_UPLOAD</B>
               Pass a pointer to a double to  receive  the  total
               amount of bytes that were uploaded.

       <B>CURLINFO_SIZE_DOWNLOAD</B>
               Pass  a  pointer  to a double to receive the total
               amount of bytes that were downloaded.

       <B>CURLINFO_SPEED_DOWNLOAD</B>
               Pass a pointer to a double to receive the  average
               download speed that curl measured for the complete
               download.

       <B>CURLINFO_SPEED_UPLOAD</B>
               Pass a pointer to a double to receive the  average
               upload  speed  that curl measured for the complete
               upload.

       <B>CURLINFO_HEADER_SIZE</B>
               Pass a pointer to a long to receive the total 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.

       <B>CURLINFO_SSL_VERIFYRESULT</B>
               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)

       <B>CURLINFO_CONTENT_LENGTH_DOWNLOAD</B>
               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)

       <B>CURLINFO_CONTENT_LENGTH_UPLOAD</B>
               Pass  a  pointer to a double to receive the speci-
               fied size of the upload.  (Added in 7.6.1)

       <B>CURLINFO_CONTENT_TYPE</B>
               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)




</PRE>
<H2>RETURN VALUE</H2><PRE>
       If  the  operation  was  successful, CURLE_OK is returned.
       Otherwise an appropriate error code will be returned.


</PRE>
<H2>SEE ALSO</H2><PRE>
       <B>curl_easy_setopt(3)</B>


</PRE>
<H2>BUGS</H2><PRE>
       Surely there are some, you tell me!













</PRE>
<HR>
<ADDRESS>
Man(1) output converted with
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
</ADDRESS>
</BODY>
</HTML>