Возвращает информацию об определенной операции


(PHP 4 >= 4.0.4, PHP 5)

curl_getinfoВозвращает информацию об определенной операции

Описание

mixed curl_getinfo ( resource $ch [, int $opt = 0 ] )

Возвращает информацию о последней операции.

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

ch

Дескриптор cURL, полученный из curl_init().

opt

Может принимать значение одной из следующих констант:

  • CURLINFO_EFFECTIVE_URL - Последний использованный URL
  • CURLINFO_HTTP_CODE - Последний полученный HTTP код
  • CURLINFO_FILETIME - Удаленная (серверная) дата загруженного документа, если она неизвестна, возвращается -1.
  • CURLINFO_TOTAL_TIME - Полное время выполнения последней операции в секундах.
  • CURLINFO_NAMELOOKUP_TIME - Время разрешения имени сервера в секундах.
  • CURLINFO_CONNECT_TIME - Время, затраченное на установку соединения, в секундах
  • CURLINFO_PRETRANSFER_TIME - Время, прошедшее от начала операции до готовности к фактической передаче данных, в секундах
  • CURLINFO_STARTTRANSFER_TIME - Время, прошедшее от начала операции до момента передачи первого байта данных, в секундах
  • CURLINFO_REDIRECT_COUNT - Число перенаправлений, с включенной опцией CURLOPT_FOLLOWLOCATION
  • CURLINFO_REDIRECT_TIME - Общее время в секундах, затраченное на перенаправления, с включенной опцией CURLOPT_FOLLOWLOCATION
  • CURLINFO_REDIRECT_URL - При отключенной опции CURLOPT_FOLLOWLOCATION: URL перенаправления, найденный в прошлой итерации, который необходимо запрашивать вручную. Если опция CURLOPT_FOLLOWLOCATION включена: пустое значение. URL перенаправления в этом случае доступен в CURLINFO_EFFECTIVE_URL
  • CURLINFO_PRIMARY_IP - IP адрес последнего соединения
  • CURLINFO_PRIMARY_PORT - Порт получателя последнего соединения
  • CURLINFO_LOCAL_IP - Локальный (исходящий) IP адрес последнего соединения
  • CURLINFO_LOCAL_PORT - Локальный (исходящий) порт последнего соединения
  • CURLINFO_SIZE_UPLOAD - Общее количество байт при закачке
  • CURLINFO_SIZE_DOWNLOAD - Общее количество байт при загрузке
  • CURLINFO_SPEED_DOWNLOAD - Средняя скорость загрузки
  • CURLINFO_SPEED_UPLOAD - Средняя скорость закачки
  • CURLINFO_HEADER_SIZE - Суммарный размер всех полученных заголовков
  • CURLINFO_HEADER_OUT - Посылаемая строка запроса. Для работы этого параметра, добавьте опцию CURLINFO_HEADER_OUT к дескриптору с помощью вызова curl_setopt()
  • CURLINFO_REQUEST_SIZE - Суммарный размер всех отправленных запросов, в настоящее время используется только для HTTP запросов
  • CURLINFO_SSL_VERIFYRESULT - Результат проверки SSL сертификата, запрошенной с помощью установки параметра CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - размер скачанных данных, прочитанный из заголовка Content-Length:
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Размер закачиваемых данных
  • CURLINFO_CONTENT_TYPE - Содержимое полученного заголовка Content-Type:, или NULL, если сервер не послал правильный заголовок Content-Type:
  • CURLINFO_PRIVATE - Внутренние данные, связанные с данным cURL обработчиком, ранее установленные с помощью опции CURLOPT_PRIVATE в функции curl_setopt()

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

Если параметр opt указан, то возвращается его значение. Иначе, возвращается ассоциативный массив со следующими индексами (которые соответствуют значениям аргумента opt), или 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" (Это возвращается только при установленной опции CURLINFO_HEADER_OUT с помощью вызова curl_setopt() до выполнения запроса)
Учтите, что внутренние данные не добавляются в ассоциативный массив и должны получаться отдельно с помощью опции CURLINFO_PRIVATE.

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

Версия Описание
5.3.7 Добавлена константа CURLINFO_REDIRECT_URL.
5.2.4 Добавлена константа CURLINFO_PRIVATE.
5.1.3 Добавлена константа CURLINFO_HEADER_OUT.

Примеры

Пример #1 curl_getinfo() example

<?php
// Создаем дескриптор cURL
$ch curl_init('http://www.yahoo.com/');

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

// Проверяем наличие ошибок
if(!curl_errno($ch))
{
 
$info curl_getinfo($ch);

 echo 
'Прошло ' $info['total_time'] . ' секунд во время запроса к ' $info['url'];
}

// Close handle
curl_close($ch);
?>

Примечания

Замечание:

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