| .\" You can view this file with: |
| .\" nroff -man [file] |
| .\" $Id$ |
| .\" |
| .TH curl_easy_init 3 "31 Jan 2001" "libcurl 7.9.4" "libcurl Manual" |
| .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 |
| .B CURLINFO_HTTP_CODE |
| Pass a pointer to a long to receive the last received HTTP code. |
| .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 |
| for the previous transfer. |
| .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 |
| .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 |
| downloaded. |
| .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) |
| .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! |