curl_getinfo
PHP Manual
PHP Manual»Функции cURL»curl_getinfo

curl_getinfo

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

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

Описание

function 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() для cURL-дескриптора установили параметр CURLINFO_HEADER_OUT)

  • "posttransfer_time_us" (элемент доступен с PHP 8.4.0 и cURL 8.10.0)

Обратите внимание, закрытые данные не добавляются в ассоциативный массив и извлекаются отдельно через параметр CURLINFO_PRIVATE.

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

Версия Описание
8.4.0 Добавили константу CURLINFO_POSTTRANSFER_TIME_T и элемент posttransfer_time_us, который доступен с Curl 8.10.0 или более новой версии библиотеки.
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";
}

?>

Пример #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";
    }
}

?>

Примечания

Замечание:

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

To Top