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

L'un des constantes CURLINFO_*.

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())
  • "posttransfer_time_us" (Disponible à partir de PHP 8.4.0 et cURL 8.10.0)
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.

Historique

Version Description
8.4.0 Introduction de la constante CURLINFO_POSTTRANSFER_TIME_T et de posttransfer_time_us (cURL 8.10.0 ou version ultérieure).
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.

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.