Skip to content
Snippets Groups Projects
curl_easy_getinfo.3 4.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • .\" 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!