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