Gen. partnerAlgotech

Getting HTTP request information via cURL

Some keys may not always be available. Always verify the existence of the key and the validity of the value before reading the value.

|
July 6, 2022

The PHP function curl_getinfo() provides detailed information about the executed cURL request. This article explains the meaning of each field.

Example usage

Call the function over the result of the context from curl_init():

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://baraja.cz');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
dump($info);

Table of values

The curl_getinfo() function returns an associative array from which individual keys and values can be retrieved.

Key Example value Explanation
url 'https://baraja.cz/' Downloaded URL.
content_type 'text/html; charset=utf-8' Encoding and content type used (claimed by the target server).
http_code 200 HTTP status code returned. 200 means OK.
header_size 462 HTTP request header size in bytes.
request_size 47 Request size.
filetime -1
ssl_verify_result 0 SSL check.
redirect_count 0
total_time 0.233384 Total time spent waiting for response. Given in seconds.
namelookup_time 0.021608 Time taken to resolve domain over DNS records. Specified in seconds.
connect_time 0.035031
pretransfer_time 0.187275
upload_size 0.0 Size of the uploaded data in bytes.
size_download 0.0 Downloaded data size in bytes.
speed_download 0.0 Download speed in bytes per second.
speed_upload 0.0 Upload speed in bytes per second.
download_content_length 15522.0 Downloaded data size in bytes.
upload_content_length -1.0 Size of uploaded data in bytes.
starttransfer_time 0.233354 Indicates the TTFB (Time To First Byte) value in seconds.
redirect_time 0.0 Time spent redirecting to download canonical content.
redirect_url ''
primary_ip '76.76.21.21' From which IP the content was downloaded.
certinfo array (0) More details about the certificate of the target site.
primary_port 443 The network port used (80 means HTTP, 443 means HTTPS).
local_ip '192.168.0.186' Local IP address of the machine that sent the request.
local_port 56568 Port of the local machine from which the request was sent.
http_version 3 HTTP protocol version.
protocol 2
ssl_verifyresult 0 SSL verification result.
scheme 'HTTPS' Protocol at the beginning of the URL.
appconnect_time_us 186220 Time to connect to the target server. Specified in microseconds.
connect_time_us 35031
namelookup_time_us 21608
pretransfer_time_us 187275
redirect_time_us 0 Time spent redirecting to download canonical content. Given in microseconds.
starttransfer_time_us 233354 Indicates the value of the TTFB (Time To First Byte) time. In microseconds.
total_time_us 233384

Some keys may not always be available. Always verify the existence of the key and the validity of the value before reading the value.

Loading comments...

Stay in the loop

Subscribe to our newsletter and get the latest cybersecurity news delivered straight to your inbox.

Your data is safe. You can unsubscribe from the newsletter at any time.