curl_getinfo

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

curl_getinfoПолучает информацию о конкретной передаче

Описание

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

Получает информацию о последней передаче.

Список параметров

handle

Дескриптор модуля cURL, который вернула функция curl_init().

option

Константа семейства CURLINFO_*.

Возвращаемые значения

Если параметр option задан, возвращается его значение. В остальных случаях возвращается ассоциативный массив со следующими элементами (которые соответствуют значениям параметра option) или false в случае ошибки:

  • «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» (Значение будет заполнено, только если функцией curl_setopt() для дескриптора включён параметр CURLINFO_HEADER_OUT.)
Учтите, что закрытые данные не добавляются в ассоциативный массив и извлекаются отдельно через опцию CURLINFO_PRIVATE.

Список изменений

Версия Описание
8.3.0 Добавлены опции CURLINFO_CAINFO и CURLINFO_CAPATH.
8.2.0 Добавлены опции CURLINFO_PROXY_ERROR, CURLINFO_REFERER, CURLINFO_RETRY_AFTER.
8.0.0 Параметр handle теперь ожидает экземпляр класса CurlHandle; раньше, параметр ждал ресурс (resource).
8.0.0 Теперь параметр option принимает значение null. ранее значением по умолчанию был 0.
7.3.0 Добавлены опции 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.

Примеры

Пример #1 Пример использования функции curl_getinfo()

<?php

// Создаём дескриптор cURL
$ch = curl_init('http://www.example.com/');

// Запускаем
curl_exec($ch);

// Проверяем наличие ошибок
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo
'Прошло ', $info['total_time'], ' секунд во время запроса к ', $info['url'], "\n";
}

// Закрываем дескриптор
curl_close($ch);

?>

Пример #2 Пример использования функции curl_getinfo() с параметром option

<?php

// Создаём дескриптор cURL
$ch = curl_init('http://www.example.com/');

// Запускаем
curl_exec($ch);

// Проверяем наличие ошибок
if (!curl_errno($ch)) {
switch (
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case
200: # OK
break;
default:
echo
'Неожиданный код HTTP: ', $http_code, "\n";
}
}

// Закрываем дескриптор
curl_close($ch);

?>

Примечания

Замечание:

Информация, которую собирает эта функция, хранится в дескрипторе и доступна для запуска повторной передачи. То есть, пока статистика не переопределена внутренне, эта функция возвращает предыдущую информацию.