(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().
option
Ce paramètre peut prendre l'une des valeurs suivantes :
Option | Description |
---|---|
CURLINFO_CAINFO | Chemin d'accès par défaut du certificat CA intégré |
CURLINFO_CAPATH | Chaîne de chemin d'accès CA intégré par défaut |
CURLINFO_EFFECTIVE_URL | Dernière URL effective |
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_REFERER | L'en-tête referrer |
CURLINFO_REQUEST_SIZE | Taille totale des requêtes envoyées. Actuellement, uniquement pour les requêtes HTTP |
CURLINFO_RETRY_AFTER | L'information de l'en-tête Retry-After: , ou zéro s'il n'y a pas d'en-tête valide. |
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_PROXY_ERROR | Le code d'erreur détaillé du proxy quand le transfert le plus récent a retourné une erreur CURLE_PROXY . La valeur de retour sera exactement une des valeurs parmi CURLPX_* . Le code d'erreur sera CURLPX_OK si aucun code de réponse est disponible. |
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/poignée de main 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-Length: . -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 connexion/poignée de main 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 connexion à 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, connexion 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.3.0 | Introduit CURLINFO_CAINFO et CURLINFO_CAPATH . |
8.2.0 | Introduction des nouvelles constantes CURLINFO_PROXY_ERROR , CURLINFO_REFERER , CURLINFO_RETRY_AFTER . |
8.0.0 | handle attend désormais une instance de CurlHandle; auparavant; une resource était attendue. |
8.0.0 | option est désormais nullable ; auparavant, la valeur par défaut était 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 fournies 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.