(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
curl_getinfo — Lit les informations détaillant un transfert cURL
   curl_getinfo() lit les informations 
   concernant le transfert handle.
  
handle
Un gestionnaire cURL retourné par curl_init().
optionCe paramètre peut prendre l'une des valeurs suivantes :
CURLINFO_EFFECTIVE_URL : Dernière URL réelle
         
        CURLINFO_HTTP_CODE : Le dernier code de réponse.
          À partir de cURL 7.10.8, ceci est un alias hérité de
          CURLINFO_RESPONSE_CODE
         
        CURLINFO_FILETIME : Date distante du document récupéré,
          avec CURLOPT_FILETIME activé ;
          si -1 est retourné la date du document distant est inconnue.
         
        CURLINFO_TOTAL_TIME : Durée de la transaction en
          secondes pour le dernier transfert
         
        CURLINFO_NAMELOOKUP_TIME : Durée de résolution
          du nom de domaine en secondes
         
        CURLINFO_CONNECT_TIME : Durée d'établissement de
          la connexion en secondes
         
        CURLINFO_PRETRANSFER_TIME : Durée en secondes,
          entre le début de la transaction et de début du transfert de fichiers
         
        CURLINFO_STARTTRANSFER_TIME : Durée en secondes
          jusqu'à ce que le premier octet soit sur le point d'être transféré
         
        CURLINFO_REDIRECT_COUNT : Nombre de redirections, avec 
          l'option CURLOPT_FOLLOWLOCATION activée
         
        CURLINFO_REDIRECT_TIME : Durée en secondes de toutes
          les étapes de redirection avant que la transaction finale ne soit débutée,
          avec l'option CURLOPT_FOLLOWLOCATION activée
         
        CURLINFO_REDIRECT_URL - Avec l'option 
          CURLOPT_FOLLOWLOCATION désactivée : URL de 
          redirection trouvée dans la dernière transaction, qui devra être 
          interrogé manuellement par la suite. Si l'option 
          CURLOPT_FOLLOWLOCATION est activée : cette valeur 
          est vide. Dans ce cas, l'url de redirection est disponible dans 
          CURLINFO_EFFECTIVE_URL 
         
        CURLINFO_PRIMARY_IP - Adresse IP de la plus 
          récente connexion
         
        CURLINFO_PRIMARY_PORT - Port de destination de 
          la plus récente connexion
         
        CURLINFO_LOCAL_IP - Adresse IP locale (source) de 
          la plus récente connexion
         
        CURLINFO_LOCAL_PORT - Port local (source) de la 
          plus récente connexion
         
        CURLINFO_SIZE_UPLOAD : Nombre total 
          d'octets envoyés
         
        CURLINFO_SIZE_DOWNLOAD : Nombre total 
          d'octets téléchargés
         
        CURLINFO_SPEED_DOWNLOAD : Vitesse moyenne
          de téléchargement
         
        CURLINFO_SPEED_UPLOAD : Vitesse moyenne d'envoi
         
        CURLINFO_HEADER_SIZE : Taille des en-têtes reçus
         
        CURLINFO_HEADER_OUT : La chaîne de requête envoyée.
          Pour que cela fonctionne, appelez curl_setopt() avec
          l'option CURLINFO_HEADER_OUT.
         
        CURLINFO_REQUEST_SIZE : Taille totale des 
          requêtes envoyées. Actuellement, uniquement pour les requêtes HTTP
         
        CURLINFO_SSL_VERIFYRESULT : Résultat de la
          vérification de la certification SSL demandée par 
          CURLOPT_SSL_VERIFYPEER
         
        CURLINFO_CONTENT_LENGTH_DOWNLOAD : Taille du corps
          du téléchargement, lu dans l'en-tête 
          Content-Length: 
         
        CURLINFO_CONTENT_LENGTH_UPLOAD : Taille spécifiée
          de l'envoi.
         
        CURLINFO_CONTENT_TYPE : Content-Type:
          du document demandé. null indique que le serveur
          n'a pas envoyé d'en-tête Content-Type:
         
        CURLINFO_PRIVATE - Données privées associées avec
          le gestionnaire cURL, précédement défini avec l'option 
          CURLOPT_PRIVATE de la fonction 
          curl_setopt()
         
        CURLINFO_RESPONSE_CODE - Le dernier code de réponse
         
        CURLINFO_HTTP_CONNECTCODE - Le code réponse CONNECT
         
        CURLINFO_HTTPAUTH_AVAIL - Masque binaire indiquant la(/les) méthode(s) d'authentification disponbile en accord avec la réponse précédente
         
        CURLINFO_PROXYAUTH_AVAIL - Masque binaire indiquant la(/les) méthode(s) d'authentification proxy disponbile en accord avec la réponse précédente
         
        CURLINFO_OS_ERRNO - Errno depuis un échec de connexion. Le numéro est spécifique au système et à l'OP.
         
        CURLINFO_NUM_CONNECTS - Nombre de connexion curl a dû créer pour achever le transfert précédent
         
        CURLINFO_SSL_ENGINES - Moteur-crypto OpenSSL supporté
         
        CURLINFO_COOKIELIST - Tous les cookies connue
         
        CURLINFO_FTP_ENTRY_PATH - Chemin d'entrée dans un serveur FTP
         
        CURLINFO_APPCONNECT_TIME - Temps en seconde qu'il ait fallu depuis le début jusqu'à ce que la connexion/handshake SSL/SSH à l'hôte distant a été complété.
         
        CURLINFO_CERTINFO - Chaîne de certificats TLS
         
        CURLINFO_CONDITION_UNMET - Info sur le temps conditionel non satisfait
         
        CURLINFO_RTSP_CLIENT_CSEQ - Prochain client RTSP CSeq
         
        CURLINFO_RTSP_CSEQ_RECV - Récemment reçu CSeq
         
        CURLINFO_RTSP_SERVER_CSEQ - Prochain serveur RTSP CSeq
         
        CURLINFO_RTSP_SESSION_ID - ID de session RTSP
         
        CURLINFO_CONTENT_LENGTH_DOWNLOAD_T - Le
          content-length du téléchargement. Cette valeur est lu depuis le champ
          Content-Type:. -1 si la taille est inconnue
         
        CURLINFO_CONTENT_LENGTH_UPLOAD_T - La taille
          spécifié pour le téléversment. -1 si la taille est inconnue
         
        CURLINFO_HTTP_VERSION - La version utilisé lors
          de la dernière connexion HTTP. La valeur de retour sera l'une des
          constantes CURL_HTTP_VERSION_* définie, ou 0 si
          la version ne peut être déterminée
         
        CURLINFO_PROTOCOL - Le protocole utilisé lors
          de la dernière connexion HTTP. La valeur retourné sera exactement
          l'une des valeur CURLPROTO_*
         
        CURLINFO_PROXY_SSL_VERIFYRESULT - Le résultat
          de la vérification de certificat qui a été demandé (utilisant l'option
          CURLOPT_PROXY_SSL_VERIFYPEER). Utilisé seulement
          pour les proxies HTTPS
         
        CURLINFO_SCHEME - La schéma de l'URL utilisé
          pour la connexion la plus récente
         
        CURLINFO_SIZE_DOWNLOAD_T - Nombre total d'octets
          qui ont été téléchargé. Le nombre est uniquement pour le dernier 
          transfer et sera réinitiallisé denouveau pour chaque nouveau transfer
         
        CURLINFO_SIZE_UPLOAD_T - Nombre total d'octets
          qui ont été téléversé
         
        CURLINFO_SPEED_DOWNLOAD_T - La vitesse de
          téléchargement moyenne en octet/seconde que curl a mesuré pour le
          téléchargement complet
         
        CURLINFO_SPEED_UPLOAD_T - La vitesse de
          téléchargement moyenne en octet/seconde que curl a mesuré pour le
          téléversement complet
         
        CURLINFO_APPCONNECT_TIME_T - Temps, en microseconde,
          qu'il a prit entre le début jusqu'à ce que la connection/handshake
          SSL/SSH à l'hôte distant a été complété
         
        CURLINFO_CONNECT_TIME_T - Temps total pris, en
          microsecondes, depuis le début jusqu'à ce que la connection à l'hôte
          distant (ou proxy) a été complété
         
        CURLINFO_FILETIME_T - Temps distant du document
          récupéré (en tant qu'horodatage Unix), une alternative à
          CURLINFO_FILETIME pour permettre aux systèmes
          avec des variables long 32 bits d'extraire les dates en dehors de
          l'intervalle 32bit de l'horodatage
         
        CURLINFO_NAMELOOKUP_TIME_T - Temps en microsecondes
          depuis le début jusqu'à ce que la résolution de nom a été complété
         
        CURLINFO_PRETRANSFER_TIME_T - Temps pris depuis
          le début jusqu'à ce que le transfer de fichier est sur le point de
          commencer, en microsecondes
         
        CURLINFO_REDIRECT_TIME_T - Temps total, en
          microsecondes, prit pour que toutes les étapes de redirection, incluant
          la recherche de nom, connexion, pré-transfer et transfer avant que la
          transaction finale a été commencé
         
        CURLINFO_STARTTRANSFER_TIME_T - Temps, en
          microsecondes, il a prit depuis le début jusqu'à ce que le premier
          octet a été reçu
         
        CURLINFO_TOTAL_TIME_T - Temps total en microsecondes
          pour le transfer précédent, incluant la résolution de nom, connection
          TCP, etc.
         
        
   Si option est fourni, la valeur sera retournée.
   Sinon, ce sera un tableau associatif contenant les éléments suivants 
   (qui correspond à option), ou false si une erreur survient :
   
CURLINFO_HEADER_OUT 
      est utilisé via un appel à curl_setopt())
     
    CURLINFO_PRIVATE.
  
 
| Version | Description | 
|---|---|
| 8.0.0 | 
  handle attend désormais une instance de CurlHandle;
  auparavant; une resource était attendue.
  | 
| 8.0.0 | 
        option is nullable now;
        previously, the default was 0.
        | 
      
| 7.3.0 | 
        Ajout de CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
        CURLINFO_CONTENT_LENGTH_UPLOAD_T, 
        CURLINFO_HTTP_VERSION,
        CURLINFO_PROTOCOL,
        CURLINFO_PROXY_SSL_VERIFYRESULT,
        CURLINFO_SCHEME,
        CURLINFO_SIZE_DOWNLOAD_T,
        CURLINFO_SIZE_UPLOAD_T,
        CURLINFO_SPEED_DOWNLOAD_T,
        CURLINFO_SPEED_UPLOAD_T,
        CURLINFO_APPCONNECT_TIME_T,
        CURLINFO_CONNECT_TIME_T,
        CURLINFO_FILETIME_T,
        CURLINFO_NAMELOOKUP_TIME_T,
        CURLINFO_PRETRANSFER_TIME_T,
        CURLINFO_REDIRECT_TIME_T,
        CURLINFO_STARTTRANSFER_TIME_T,
        CURLINFO_TOTAL_TIME_T.
        | 
      
Exemple #1 Exemple avec curl_getinfo()
<?php
// Création d'un gestionnaire cURL
$ch = curl_init('http://www.example.com/');
// Exécution
curl_exec($ch);
// Vérification si une erreur est survenue
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);
 echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];
}
// Fermeture du gestionnaire
curl_close($ch);
?>
Exemple #2 Exemple de curl_getinfo() avec le paramètre option
<?php
// Création d'un gestionnaire cURL
$ch = curl_init('http://www.example.com/');
// Exécution
curl_exec($ch);
// Vérification du code d'état HTTP
if (!curl_errno($ch)) {
  switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
    case 200:  # OK
      break;
    default:
      echo 'Unexpected HTTP code: ', $http_code, "\n";
  }
}
// Close handle
curl_close($ch);
?>
Note:
Les informations founies par cette fonction sont conservées si la connexion est réutilisée. La donnée précédemment utilisée est donc retournée à moins que celle-ci ne soit écrasée en interne entre temps.