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_CAINFOШлях до вбудованого сертифіката центру засвідчення за промовчанням
CURLINFO_CAPATHРядок шляху до вбудованого сертифіката засвідчувального центру за промовчанням
CURLINFO_EFFECTIVE_URLОстання ефективна URL
CURLINFO_HTTP_CODEОстанній код відповіді. Починаючи з cURL 7.10.8, це застарілий псевдонім опції. CURLINFO_RESPONSE_CODE
CURLINFO_FILETIMEЧас отримання документа по годиннику віддаленого сервера, якщо параметр CURLOPT_FILETIME включений для дескриптора cURL; якщо повертається значення -1, час отримання документа невідомо
CURLINFO_TOTAL_TIMEЗагальний час транзакції за секунди для останньої передачі
CURLINFO_NAMELOOKUP_TIMEЧас у секундах, витрачений на дозвіл імені
CURLINFO_CONNECT_TIMEЧас у секундах, витрачений на встановлення з'єднання
CURLINFO_PRETRANSFER_TIMEЧас у секундах від запуску до моменту початку передачі файлу
CURLINFO_STARTTRANSFER_TIMEЧас у секундах від запуску передачі до отримання першого байта
CURLINFO_REDIRECT_COUNTЧисло перенаправлень, якщо параметр CURLOPT_FOLLOWLOCATION включений для дескриптора cURL
CURLINFO_REDIRECT_TIMEЗагальний час у секундах, який був потрібний для всіх кроків перенаправлення до запуску останньої транзакції, якщо параметр CURLOPT_FOLLOWLOCATION включений для дескриптора cURL
CURLINFO_REDIRECT_URLЯкщо параметр дескриптора CURLOPT_FOLLOWLOCATION відключено: URL-адресу перенаправлення, знайдену в останній транзакції, яку наступного разу потрібно запросити вручну. Якщо параметр CURLOPT_FOLLOWLOCATION увімкнено: порожнє значення. Тоді URL-адреса перенаправлення доступна в опції CURLINFO_EFFECTIVE_URL
CURLINFO_PRIMARY_IPIP-адреса останнього з'єднання
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_REFERERЗаголовок реферера
CURLINFO_REQUEST_SIZEСумарний розмір відправлених запитів, працює поки що тільки для HTTP-запитів
CURLINFO_RETRY_AFTERІнформація із заголовка Retry-After: або нуль, якщо допустимого заголовка не було
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, які раніше були встановлені функцією curl_setopt()с параметром**CURLOPT_PRIVATE**
CURLINFO_PROXY_ERRORДетальний код помилки проксі-сервера (SOCKS), коли остання передача повернула помилку CURLE_PROXY. . Значення, що повертається, дорівнюватиме значенню константи з сімейства CURLPX_*. . Код помилки дорівнюватиме значенню константи **CURLPX_OK**якщо код відповіді не був доступний
CURLINFO_RESPONSE_CODEОстанній код відповіді
CURLINFO_HTTP_CONNECTCODEКод відповіді на запит CONNECT
CURLINFO_HTTPAUTH_AVAILБітова маска доступного методу або методів аутентифікації на основі даних попередньої відповіді
CURLINFO_PROXYAUTH_AVAILБітова маска доступного методу або методів аутентифікації проксі-сервера на основі даних попередньої відповіді
CURLINFO_OS_ERRNOЗначення змінної Errno у разі збою з'єднання. Номер помилки залежить від ОС та особливостей системи
CURLINFO_NUM_CONNECTSКількість з'єднань, які curl довелося створити, що успішно виконати попередню передачу
CURLINFO_SSL_ENGINESСписок підтримуваних криптодвижків бібліотеки OpenSSL
CURLINFO_COOKIELISTВідомі куки
CURLINFO_FTP_ENTRY_PATHШлях входу на FTP-сервер
CURLINFO_APPCONNECT_TIMEЧас у секундах від запуску до встановлення SSL- або SSH-підключення або рукостискання з віддаленим хостом
CURLINFO_CERTINFOЛанцюжок сертифікатів TLS
CURLINFO_CONDITION_UNMETІнформація про невиконані за відведений час умови
CURLINFO_RTSP_CLIENT_CSEQНаступний CSeq-заголовок RTSP-клієнта
CURLINFO_RTSP_CSEQ_RECVОстанній отриманий заголовок CSeq
CURLINFO_RTSP_SERVER_CSEQНаступний CSeq-заголовок RTSP-сервера
CURLINFO_RTSP_SESSION_IDІдентифікатор RTSP-сесії
CURLINFO_CONTENT_LENGTH_DOWNLOAD_TРозмір даних. Це значення зчитується з поля Content-Length:. . Значення дорівнює -1, якщо розмір невідомий
CURLINFO_CONTENT_LENGTH_UPLOAD_TРозмір надісланих даних. Значення дорівнює -1, якщо розмір невідомий
CURLINFO_HTTP_VERSIONВерсія HTTP-протоколу останнього з'єднання. Значення, що повертається, дорівнюватиме значенню константи з сімейства CURL_HTTP_VERSION_* або 0, якщо версію неможливо визначити
CURLINFO_PROTOCOLПротокол останнього з'єднання HTTP. Значення, що повертається, дорівнюватиме значенню константи з сімейства CURLPROTO_*
CURLINFO_PROXY_SSL_VERIFYRESULTРезультат запитаної перевірки сертифіката (з параметром CURLOPT_PROXY_SSL_VERIFYPEER). Працює тільки для серверів HTTPS-проксі
CURLINFO_SCHEMEСхема URL останнього з'єднання
CURLINFO_SIZE_DOWNLOAD_TЗагальна кількість байтів, отриманих. Число буде вказано лише для останньої передачі та скидатиметься при кожній новій передачі
CURLINFO_SIZE_UPLOAD_TЗагальна кількість байтів, які були передані
CURLINFO_SPEED_DOWNLOAD_TСередня швидкість отримання даних у байтах за секунду, яку curl виміряв в кінці передачі
CURLINFO_SPEED_UPLOAD_TСередня швидкість передачі даних у байтах за секунду, яку curl виміряв в кінці передачі
CURLINFO_APPCONNECT_TIME_TЧас у мікросекундах, що минув від запуску до завершення SSL або SSH підключення або рукостискання з віддаленим хостом
CURLINFO_CONNECT_TIME_TЗагальний час у мікросекундах, що минув від запуску до завершення підключення до віддаленого хоста або проксі-сервера
CURLINFO_FILETIME_TЧас отримання документа у вигляді мітки часу Unix по годинниках віддаленого сервера, альтернатива опції CURLINFO_FILETIME, щоб дозволити системам з 32-бітними long-змінними витягувати дати за межами діапазону 32-бітних міток часу
CURLINFO_NAMELOOKUP_TIME_TЧас у мікросекундах від запуску до дозволу імені
CURLINFO_PRETRANSFER_TIME_TЧас у мікросекундах від запуску до моменту початку передачі файлу
CURLINFO_REDIRECT_TIME_TЗагальний час у мікросекундах, який знадобився для всіх кроків перенаправлення, включаючи пошук імені, підключення, попередню основну передачу до запуску остаточної транзакції
CURLINFO_STARTTRANSFER_TIME_TЧас у мікросекундах від запуску передачі до отримання першого байта
CURLINFO_TOTAL_TIME_TЗагальний час попередньої передачі в мікросекундах, включаючи роздільну здатність імені, TCP-з'єднання і т.д.

Значення, що повертаються

Якщо параметр 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_ERRORCURLINFO_REFERERCURLINFO_RETRY_AFTER
8.0.0handle тепер чекає екземпляр CurlHandle; раніше, очікувався ресурс (resource).
8.0.0Тепер параметр optionпринимает значение**null**. . раніше значенням за умовчанням був
7.3.0Додані опції CURLINFO_CONTENT_LENGTH_DOWNLOAD_TCURLINFO_CONTENT_LENGTH_UPLOAD_TCURLINFO_HTTP_VERSIONCURLINFO_PROTOCOLCURLINFO_PROXY_SSL_VERIFYRESULTCURLINFO_SCHEMECURLINFO_SIZE_DOWNLOAD_TCURLINFO_SIZE_UPLOAD_TCURLINFO_SPEED_DOWNLOAD_TCURLINFO_SPEED_UPLOAD_TCURLINFO_APPCONNECT_TIME_TCURLINFO_CONNECT_TIME_TCURLINFO_FILETIME_TCURLINFO_NAMELOOKUP_TIME_TCURLINFO_PRETRANSFER_TIME_TCURLINFO_REDIRECT_TIME_TCURLINFO_STARTTRANSFER_TIME_TCURLINFO_TOTAL_TIME_T

Приклади

Приклад #1 Приклад використання функції curl_getinfo()****

Loading...

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

Loading...

Примітки

Зауваження :

Інформація, яку збирає ця функція, зберігається в дескрипторі та доступна для запуску повторної передачі. Тобто поки статистика не перевизначена внутрішньо, ця функція повертає попередню інформацію.