Parameters

CURLINFO_FILETIME - Remote time of the retrieved document, with the CURLOPT_FILETIME enabled; if -1 is returned the time of the document is unknown

CURLINFO_TOTAL_TIME - Total transaction time in seconds for last transfer

CURLINFO_NAMELOOKUP_TIME - Time in seconds until name resolving was complete

CURLINFO_CONNECT_TIME - Time in seconds it took to establish the connection

CURLINFO_PRETRANSFER_TIME - Time in seconds from start until just before file transfer begins

CURLINFO_STARTTRANSFER_TIME - Time in seconds until the first byte is about to be transferred

CURLINFO_REDIRECT_COUNT - Number of redirects, with the CURLOPT_FOLLOWLOCATION option enabled

CURLINFO_REDIRECT_TIME - Time in seconds of all redirection steps before final transaction was started, with the CURLOPT_FOLLOWLOCATION option enabled

CURLINFO_REDIRECT_URL - With the CURLOPT_FOLLOWLOCATION option disabled: redirect URL found in the last transaction, that should be requested manually next. With the CURLOPT_FOLLOWLOCATION option enabled: this is empty. The redirect URL in this case is available in CURLINFO_EFFECTIVE_URL

CURLINFO_PRIMARY_IP - IP address of the most recent connection

CURLINFO_PRIMARY_PORT - Destination port of the most recent connection

CURLINFO_LOCAL_IP - Local (source) IP address of the most recent connection

CURLINFO_LOCAL_PORT - Local (source) port of the most recent connection

CURLINFO_SIZE_UPLOAD - Total number of bytes uploaded

CURLINFO_SIZE_DOWNLOAD - Total number of bytes downloaded

CURLINFO_SPEED_DOWNLOAD - Average download speed

CURLINFO_SPEED_UPLOAD - Average upload speed

CURLINFO_HEADER_SIZE - Total size of all headers received

CURLINFO_HEADER_OUT - The request string sent. For this to
work, add the CURLINFO_HEADER_OUT option to the handle by calling
curl_setopt()

CURLINFO_REQUEST_SIZE - Total size of issued requests, currently only for HTTP requests

Here are the response codes ready for pasting in an ini-style file. Can be used to provide more descriptive message, corresponding to 'http_code' index of the arrray returned by curl_getinfo(). These are taken from the W3 consortium HTTP/1.1: Status Code Definitions, found athttp://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Just a quick note: if you want to use curl_getinfo() with option CURLINFO_HEADER_OUT in order to debug your cURL request, you must add curl_setopt($handle, CURLINFO_HEADER_OUT, true); first while specifying the options.

The main doc neglects to mention that when the CURLINFO_HEADER_OUT option is set the array returned by this function will included a new property, request_header, that is a string of the headers sent in the request.

If you call curl_reset() on a handle that has already been passed to curl_exec(), and then perform a curl_getinfo() on the same handle, you may expect that you get the same result as if you called curl_getinfo() immediately after curl_init(). This is not the case, however. cURL will return the data from the previous execution. If you want to completely reset you actually need to unset the cURL handle and recreate a new one.