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; <function>curl_getinfo</function> example ]]> <function>curl_getinfo</function> example with <parameter>opt</parameter> 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.