2002-03-04 11:09:48 +01:00
|
|
|
.\" You can view this file with:
|
|
|
|
.\" nroff -man [file]
|
|
|
|
.\" $Id$
|
|
|
|
.\"
|
2003-08-20 17:44:03 +02:00
|
|
|
.TH curl_easy_getinfo 3 "20 Aug 2003" "libcurl 7.10.8" "libcurl Manual"
|
2002-03-04 11:09:48 +01:00
|
|
|
.SH NAME
|
|
|
|
curl_easy_getinfo - Extract information from a curl session (added in 7.4)
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.B #include <curl/curl.h>
|
|
|
|
.sp
|
|
|
|
.BI "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );"
|
|
|
|
.ad
|
|
|
|
.SH DESCRIPTION
|
|
|
|
Request internal information from the curl session with this function. The
|
|
|
|
third argument
|
|
|
|
.B 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.
|
|
|
|
.SH AVAILABLE INFORMATION
|
|
|
|
These are informations that can be extracted:
|
|
|
|
.TP 0.8i
|
|
|
|
.B CURLINFO_EFFECTIVE_URL
|
|
|
|
Pass a pointer to a 'char *' to receive the last used effective URL.
|
|
|
|
.TP
|
2003-08-20 17:44:03 +02:00
|
|
|
.B 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.
|
2002-03-04 11:09:48 +01:00
|
|
|
.TP
|
|
|
|
.B 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 \fIcurl_easy_setopt(3)\fP. (Added in 7.5)
|
|
|
|
.TP
|
|
|
|
.B CURLINFO_TOTAL_TIME
|
|
|
|
Pass a pointer to a double to receive the total transaction time in seconds
|
2002-04-25 18:45:15 +02:00
|
|
|
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.
|
2002-03-04 11:09:48 +01:00
|
|
|
.TP
|
|
|
|
.B 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.
|
|
|
|
.TP
|
|
|
|
.B 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.
|
|
|
|
.TP
|
|
|
|
.B 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.
|
|
|
|
.TP
|
|
|
|
.B 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.
|
|
|
|
.TP
|
2002-04-17 09:21:17 +02:00
|
|
|
.B CURLINFO_REDIRECT_TIME
|
|
|
|
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 execution time for multiple redirections. (Added in 7.9.7)
|
|
|
|
.TP
|
|
|
|
.B CURLINFO_REDIRECT_COUNT
|
|
|
|
Pass a pointer to a long to receive the total number of redirections that were
|
|
|
|
actually followed. (Added in 7.9.7)
|
|
|
|
.TP
|
2002-03-04 11:09:48 +01:00
|
|
|
.B CURLINFO_SIZE_UPLOAD
|
|
|
|
Pass a pointer to a double to receive the total amount of bytes that were
|
|
|
|
uploaded.
|
|
|
|
.TP
|
|
|
|
.B CURLINFO_SIZE_DOWNLOAD
|
|
|
|
Pass a pointer to a double to receive the total amount of bytes that were
|
2003-04-11 18:52:30 +02:00
|
|
|
downloaded. The amount is only for the latest transfer and will be reset again
|
|
|
|
for each new transfer.
|
2002-03-04 11:09:48 +01:00
|
|
|
.TP
|
|
|
|
.B CURLINFO_SPEED_DOWNLOAD
|
|
|
|
Pass a pointer to a double to receive the average download speed that curl
|
|
|
|
measured for the complete download.
|
|
|
|
.TP
|
|
|
|
.B CURLINFO_SPEED_UPLOAD
|
|
|
|
Pass a pointer to a double to receive the average upload speed that curl
|
|
|
|
measured for the complete upload.
|
|
|
|
.TP
|
|
|
|
.B CURLINFO_HEADER_SIZE
|
|
|
|
Pass a pointer to a long to receive the total size of all the headers
|
|
|
|
received.
|
|
|
|
.TP
|
|
|
|
.B 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.
|
|
|
|
.TP
|
|
|
|
.B 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)
|
|
|
|
.TP
|
|
|
|
.B 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)
|
|
|
|
.TP
|
|
|
|
.B CURLINFO_CONTENT_LENGTH_UPLOAD
|
|
|
|
Pass a pointer to a double to receive the specified size of the upload.
|
|
|
|
(Added in 7.6.1)
|
|
|
|
.TP
|
|
|
|
.B 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)
|
2002-11-20 20:11:22 +01:00
|
|
|
.TP
|
|
|
|
.B CURLINFO_PRIVATE
|
|
|
|
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)
|
2002-03-04 11:09:48 +01:00
|
|
|
.PP
|
|
|
|
.SH RETURN VALUE
|
|
|
|
If the operation was successful, CURLE_OK is returned. Otherwise an
|
|
|
|
appropriate error code will be returned.
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR curl_easy_setopt "(3)"
|
|
|
|
.SH BUGS
|
|
|
|
Surely there are some, you tell me!
|