PHP Manual

Getting HTTP request information via cURL

06. 07. 2022

Obsah článku

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, '');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
$info = curl_getinfo($ch);

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 '' 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 '' 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 '' 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.

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

All systems normal.