(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);
?>
Замечание:
Информация, собранная этой функцией, будет сохранена при дальнейшем использовании дескриптора. Это означает, что если статистика не будет перезаписана самой функцией, будет возвращаться информация по предыдущему запросу.