NS/releases/3.05/source/curl/docs/libcurl/curl_easy_getinfo.html

181 lines
7.2 KiB
HTML
Raw Normal View History

<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. The amount
is only for the latest transfer and will be reset
again for each new transfer.
<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.
Pass a pointer to a long to receive the total size
of all the headers received.
<B>CURLINFO_REQUEST_SIZE</B>
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)
<B>CURLINFO_PRIVATE</B>
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)
</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>