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