curl_getinfo


php128 apg

GET the information regarding a specific transfer.



<?php

mixed curl_getinfo
(CurlHandle $handle, ?int $option null);

$handle A cURL handle returned by curl_init()

$option The cURL option constantes

?>

 $handle 


The cURL handle returned by curl_init function.


 $option 


The CURLOPT_XXX option to be set.

CURLINFO_EFFECTIVE_URL - Last effective URL

CURLINFO_HTTP_CODE - The last response code.
As of cURL 7.10.8, this is a legacy alias of CURLINFO_RESPONSE_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_REFERER - The referrer header

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

CURLINFO_RETRY_AFTER - The information from the Retry-After: header, or zero if there was no valid header

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_PROXY_ERROR - The detailed (SOCKS) proxy error code when the most recent transfer returned a CURLE_PROXY error.
The returned value will be exactly one of the CURLPX_* values.
The error code will be CURLPX_OK if no response code was available

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

CURLINFO_CONTENT_LENGTH_DOWNLOAD_T - The content-length of the download.
This is the value read from the Content-Length: field
-1 if the size isn't known

CURLINFO_CONTENT_LENGTH_UPLOAD_T - The specified size of the upload
-1 if the size isn't known

CURLINFO_HTTP_VERSION - The version used in the last HTTP connection
The return value will be one of the defined

CURL_HTTP_VERSION_* constants or 0 if the version can't be determined

CURLINFO_PROTOCOL - The protocol used in the last HTTP connection
The returned value will be exactly one of the CURLPROTO_* values

CURLINFO_PROXY_SSL_VERIFYRESULT - The result of the certificate verification that was requested (using the CURLOPT_PROXY_SSL_VERIFYPEER option)
Only used for HTTPS proxies

CURLINFO_SCHEME - The URL scheme used for the most recent connection

CURLINFO_SIZE_DOWNLOAD_T - Total number of bytes that were downloaded
The number is only for the latest transfer and will be reset again for each new transfer

CURLINFO_SIZE_UPLOAD_T - Total number of bytes that were uploaded

CURLINFO_SPEED_DOWNLOAD_T - The average download speed in bytes/second that curl measured for the complete download

CURLINFO_SPEED_UPLOAD_T - The average upload speed in bytes/second that curl measured for the complete upload

CURLINFO_APPCONNECT_TIME_T - Time, in microseconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed

CURLINFO_CONNECT_TIME_T - Total time taken, in microseconds, from the start until the connection to the remote host (or proxy) was completed

CURLINFO_FILETIME_T - Remote time of the retrieved document (as Unix timestamp), an alternative to CURLINFO_FILETIME to allow systems with 32 bit long variables to extract dates outside of the 32bit timestamp range

CURLINFO_NAMELOOKUP_TIME_T - Time in microseconds from the start until the name resolving was completed

CURLINFO_PRETRANSFER_TIME_T - Time taken from the start until the file transfer is just about to begin, in microseconds

CURLINFO_REDIRECT_TIME_T - Total time, in microseconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started

CURLINFO_STARTTRANSFER_TIME_T - Time, in microseconds, it took from the start until the first byte is received

CURLINFO_TOTAL_TIME_T - Total time in microseconds for the previous transfer, including name resolving, TCP connect etc.


  1 EXERCISE   

<?php

//URL from which to get webpage contents.
$url "https://developerslife.tech/pt/";
// Initialize a CURL session.
$ch curl_init($url);
 
// Execute
curl_exec($ch);

// Check if any error occurred
  
$info curl_getinfo($ch);

// Close handle
curl_close($ch);

?>

 RESULT   

SEE the next exercises - other lessons!