curl_getinfo
Get information regarding a specific transfer
&reftitle.description;
mixedcurl_getinfo
resourcech
intopt
Gets information about the last transfer.
&reftitle.parameters;
&curl.ch.description;
opt
This may be one of the following constants:
CURLINFO_EFFECTIVE_URL - Last effective URL
CURLINFO_HTTP_CODE - Last received HTTP code
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
CURLINFO_SSL_VERIFYRESULT - Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
CURLINFO_CONTENT_LENGTH_DOWNLOAD - Content length of download, read from Content-Length: field
CURLINFO_CONTENT_LENGTH_UPLOAD - Specified size of upload
CURLINFO_CONTENT_TYPE - Content-Type: of the requested document. NULL indicates server did not send valid Content-Type: header
CURLINFO_PRIVATE - Private data associated with this cURL handle, previously set with the CURLOPT_PRIVATE option of curl_setopt
CURLINFO_RESPONSE_CODE - The last response code
CURLINFO_HTTP_CONNECTCODE - The CONNECT response code
CURLINFO_HTTPAUTH_AVAIL - Bitmask indicating the authentication method(s) available according to the previous response
CURLINFO_PROXYAUTH_AVAIL - Bitmask indicating the proxy authentication method(s) available according to the previous response
CURLINFO_OS_ERRNO - Errno from a connect failure. The number is OS and system specific.
CURLINFO_NUM_CONNECTS - Number of connections curl had to create to achieve the previous transfer
CURLINFO_SSL_ENGINES - OpenSSL crypto-engines supported
CURLINFO_COOKIELIST - All known cookies
CURLINFO_FTP_ENTRY_PATH - Entry path in FTP server
CURLINFO_APPCONNECT_TIME - Time in seconds it took from the start until the SSL/SSH connect/handshake to the remote host was completed
CURLINFO_CERTINFO - TLS certificate chain
CURLINFO_CONDITION_UNMET - Info on unmet time conditional
CURLINFO_RTSP_CLIENT_CSEQ - Next RTSP client CSeq
CURLINFO_RTSP_CSEQ_RECV - Recently received CSeq
CURLINFO_RTSP_SERVER_CSEQ - Next RTSP server CSeq
CURLINFO_RTSP_SESSION_ID - RTSP session ID
&reftitle.returnvalues;
If opt is given, returns its value.
Otherwise, returns an associative array with the following elements
(which correspond to opt), or &false; on failure:
"url"
"content_type"
"http_code"
"header_size"
"request_size"
"filetime"
"ssl_verify_result"
"redirect_count"
"total_time"
"namelookup_time"
"connect_time"
"pretransfer_time"
"size_upload"
"size_download"
"speed_download"
"speed_upload"
"download_content_length"
"upload_content_length"
"starttransfer_time"
"redirect_time"
"certinfo"
"primary_ip"
"primary_port"
"local_ip"
"local_port"
"redirect_url"
"request_header" (This is only set if the CURLINFO_HEADER_OUT
is set by a previous call to curl_setopt)
Note that private data is not included in the associative array and must be retrieved individually with the CURLINFO_PRIVATE option.
&reftitle.changelog;
&Version;
&Description;
5.5.0
Introduced CURLINFO_RESPONSE_CODE,
CURLINFO_HTTP_CONNECTCODE,
CURLINFO_HTTPAUTH_AVAIL,
CURLINFO_PROXYAUTH_AVAIL,
CURLINFO_OS_ERRNO,
CURLINFO_NUM_CONNECTS,
CURLINFO_SSL_ENGINES,
CURLINFO_COOKIELIST,
CURLINFO_FTP_ENTRY_PATH,
CURLINFO_APPCONNECT_TIME,
CURLINFO_CONDITION_UNMET,
CURLINFO_RTSP_CLIENT_CSEQ,
CURLINFO_RTSP_CSEQ_RECV,
CURLINFO_RTSP_SERVER_CSEQ and
CURLINFO_RTSP_SESSION_ID.
5.4.7
Introduced CURLINFO_PRIMARY_IP,
CURLINFO_PRIMARY_PORT,
CURLINFO_LOCAL_IP and
CURLINFO_LOCAL_PORT.
5.3.7
Introduced CURLINFO_REDIRECT_URL.
5.3.0
Introduced CURLINFO_CERTINFO.
5.2.4
Introduced CURLINFO_PRIVATE.
5.1.3
Introduced CURLINFO_HEADER_OUT.
&reftitle.examples;
curl_getinfo example
]]>
curl_getinfo example with opt parameter
]]>
&reftitle.notes;
Information gathered by this function is kept if the handle is re-used. This means
that unless a statistic is overridden internally by this function, the previous info
is returned.