Obtenir des informations sur les requêtes HTTP via cURL

📅   06. 07. 2022
👤   Jan Barášek

La fonction PHP `curl_getinfo()` fournit des informations détaillées sur la requête cURL exécutée. Cet article explique la signification de chaque champ.

Exemple d'utilisation

Appelez la fonction sur le résultat du contexte de 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);

Tableau des valeurs

La fonction curl_getinfo() renvoie un tableau associatif à partir duquel les clés et les valeurs individuelles peuvent être récupérées.

Clé Valeur de l'exemple Explication
url 'https://baraja.cz/' URL téléchargée.
content_type 'text/html ; charset=utf-8' Encodage et type de contenu utilisés (revendiqués par le serveur cible).
http_code 200 Code d'état HTTP renvoyé. 200 signifie OK.
header_size 462 Taille de l'en-tête de la requête HTTP en octets.
request_size 47 Taille de la demande.
filetime -1
ssl_verify_result 0 Vérification SSL.
redirect_count 0
total_time 0.233384 Temps total passé à attendre une réponse. En secondes.
namelookup_time 0.021608 Temps pris pour résoudre le domaine sur les enregistrements DNS. Spécifié en secondes.
connect_time 0.035031
pretransfer_time 0.187275
upload_size 0.0 Taille des données téléchargées en octets.
size_download 0.0 Taille des données téléchargées en octets.
speed_download 0.0 Vitesse de téléchargement en octets par seconde.
speed_upload 0.0 Vitesse de téléchargement en octets par seconde.
download_content_length 15522.0 Taille des données téléchargées en octets.
upload_content_length -1.0 Taille des données téléchargées en octets.
starttransfer_time 0.233354 Indique la valeur TTFB (Time To First Byte) en secondes.
redirect_time 0.0 Temps passé à rediriger vers le téléchargement du contenu canonique.
redirect_url ''
primary_ip '76.76.21.21' De quelle IP le contenu a été téléchargé.
certinfo array (0) Plus de détails sur le certificat du site cible.
primary_port 443 Le port réseau utilisé (80 signifie HTTP, 443 signifie HTTPS).
local_ip '192.168.0.186' Adresse IP locale de la machine qui a envoyé la requête.
local_port 56568 Port de la machine locale depuis laquelle la demande a été envoyée.
http_version 3 Version du protocole HTTP.
protocole 2
ssl_verifyresult 0 Résultat de la vérification SSL.
scheme 'HTTPS' Protocole au début de l'URL.
appconnect_time_us 186220 Temps nécessaire pour établir la connexion avec le serveur cible. Spécifié en nanosecondes.
connect_time_us 35031
namelookup_time_us 21608
pretransfer_time_us 187275
redirect_time_us 0 Temps passé à rediriger vers le téléchargement du contenu canonique. Donnée en nanosecondes.
starttransfer_time_us 233354 Indique la valeur du temps TTFB (Time To First Byte). En nanosecondes.
total_time_us 233384

Certaines clés ne sont pas toujours disponibles. Vérifiez toujours l'existence de la clé et la validité de la valeur avant de lire cette dernière.

Jan Barášek     En savoir plus sur l'auteur

L'auteur travaille comme développeur principal et architecte logiciel à Prague. Il conçoit et gère de grandes applications web que vous connaissez et utilisez. Depuis 2009, il a acquis une grande expérience qu'il transmet par le biais de ce site web.

Je serai heureux de vous aider:

Contact