(PHP 4 >= 4.0.4, PHP 5, PHP 7)
curl_getinfo — Возвращает информацию об определенной операции
Возвращает информацию о последней операции.
ch
Дескриптор cURL, полученный из curl_init().
opt
Одна из перечисленных констант:
CURLINFO_EFFECTIVE_URL
- Последний использованный URL
CURLINFO_HTTP_CODE
- Последний полученный HTTP код
CURLINFO_FILETIME
- Удаленная (серверная) дата загруженного документа, если включена опция CURLOPT_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()
CURLINFO_RESPONSE_CODE
- Последний код возврата
CURLINFO_HTTP_CONNECTCODE
- Код ответа операции CONNECT
CURLINFO_HTTPAUTH_AVAIL
- Битовая маска, показывающая возможные методы аутентификации, доступные при предыдущем ответе
CURLINFO_PROXYAUTH_AVAIL
- Битовая маска, показывающая возможные методы аутентификации на proxy, доступные при предыдущем ответе
CURLINFO_OS_ERRNO
- Номер ошибки при попытке соединения. Код может различаться в зависимости от системы и ОС
CURLINFO_NUM_CONNECTS
- Количество соединений совершенных curl для обеспечения предыдущего трансфера
CURLINFO_SSL_ENGINES
- Поддержка OpenSSL
CURLINFO_COOKIELIST
- Все известные куки
CURLINFO_FTP_ENTRY_PATH
- Путь входа на FTP-сервер
CURLINFO_APPCONNECT_TIME
- Время в секундах от начала и до установления SSL/SSH connect/handshake с удаленным хостом
CURLINFO_CERTINFO
- связка ключей TLS
CURLINFO_CONDITION_UNMET
- Info on unmet time conditional
CURLINFO_RTSP_CLIENT_CSEQ
- Следующий RTSP клиентского CSeq
CURLINFO_RTSP_CSEQ_RECV
- Недавно полученный CSeq
CURLINFO_RTSP_SERVER_CSEQ
- Следующий RTSP серверного CSeq
CURLINFO_RTSP_SESSION_ID
- ID сессии RTSP
Если параметр opt
указан, то возвращается его
значение. Иначе, возвращается ассоциативный массив со
следующими индексами (которые соответствуют значениям аргумента
opt
), или FALSE
в случае ошибки:
CURLINFO_HEADER_OUT
с помощью вызова curl_setopt() до выполнения запроса)
CURLINFO_PRIVATE
.
Версия | Описание |
---|---|
5.5.0 |
Добавлены CURLINFO_RESPONSE_CODE ,
CURLINFO_HTTP_CONNECTCODE ,
CURLINFO_HTTPAUTH_AVAIL ,
CURLINFO_PROXYAUTH_AVAIL ,
CURLINFO_OS_ERRNO ,
CURLINFO_NUM_CONNECTS ,
CURLINFO_SSL_ENGINES ,
CURLINFO_COOKIELIST ,
CURLINFO_FTP_ENTRY_PATH ,
CURLINFO_APPCONNECT_TIME ,
CURLINFO_CONDITION_UNMET ,
CURLINFO_RTSP_CLIENT_CSEQ ,
CURLINFO_RTSP_CSEQ_RECV ,
CURLINFO_RTSP_SERVER_CSEQ и
CURLINFO_RTSP_SESSION_ID .
|
5.4.7 |
Добавлены CURLINFO_PRIMARY_IP ,
CURLINFO_PRIMARY_PORT ,
CURLINFO_LOCAL_IP и
CURLINFO_LOCAL_PORT .
|
5.3.7 |
Добавлена CURLINFO_REDIRECT_URL .
|
5.3.0 |
Добавлена CURLINFO_CERTINFO .
|
5.2.4 |
Добавлена CURLINFO_PRIVATE .
|
5.1.3 |
Добавлена CURLINFO_HEADER_OUT .
|
Пример #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() с параметром opt
<?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);
?>
Замечание:
Информация, собранная этой функцией, будет сохранена при дальнейшем использовании дескриптора. Это означает, что если статистика не будет перезаписана самой функцией, будет возвращаться информация по предыдущему запросу.