curl_getinfo

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

curl_getinfoLit les informations détaillant un transfert cURL

Description

curl_getinfo(CurlHandle$handle, ?int$option = null): mixed

curl_getinfo() lit les informations concernant le transfert handle.

Liste de paramètres

handle

Un gestionnaire cURL retourné par curl_init().

option

Ce paramètre peut prendre l'une des valeurs suivantes :

OptionDescription
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_TYPEContent-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.

Valeurs de retour

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 :

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "primary_ip"
  • "primary_port"
  • "local_ip"
  • "local_port"
  • "redirect_url"
  • "request_header" (Existe seulement si CURLINFO_HEADER_OUT est utilisé via un appel à curl_setopt())
Veuillez noter que les données privées ne sont pas incluses dans le tableau associatif et doivent être récupérées individuellement avec l'option CURLINFO_PRIVATE.

Exemples

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);
?>

Notes

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.

To Top