PHP Manual

Отримання інформації HTTP-запиту по cURL

06. 07. 2022

Obsah článku

Функція PHP `curl_getinfo()` надає детальну інформацію про виконаний cURL-запит. У цій статті пояснюється значення кожного поля.

Приклад використання

Викликати функцію над результатом контексту з curl_init():

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://baraja.cz');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
dump($info);

Таблиця значень

Функція curl_getinfo() повертає асоціативний масив, з якого можна отримати окремі ключі та значення.

| Ключ | Приклад значення | Пояснення | Пояснення |---------------------------|----------------------------|------------------------------------------------------------------------------------| | "https://baraja.cz/"; | Завантажена URL-адреса. | content_type | 'text/html; charset=utf-8' | Використане кодування та тип контенту (заявлений цільовим сервером). | Повернуто код статусу HTTP. 200 означає, що все гаразд. | header_size | 462 | Розмір заголовка HTTP-запиту в байтах. | Розмір запиту. 47. Розмір запиту. | | | filetime | -1 | Час файлу (вимоги сервера). | Перевірка SSL. | | | redirect_count | 0 | Кількість перенаправлень до досягнення цільового документа. | total_time | 0.233384 | Загальний час, витрачений на очікування відповіді. Дається в секундах. | namelookup_time | 0.021608 | Час, необхідний для вирішення домену по DNS-записам. Вказано в секундах. | | | connect_time | 0.035031 | Час встановлення з'єднання з сервером призначення. Вказано в секундах. | | | pretransfer_time | 0.187275 | Час, необхідний для передачі даних. Вказано в секундах. | upload_size | 0.0 | Розмір даних, що завантажуються, в байтах. | size_download | 0.0 | Розмір завантажених даних в байтах. | speed_download | 0.0 | Швидкість завантаження в байтах в секунду. | speed_upload | 0.0 | Швидкість завантаження в байтах в секунду. | download_content_length | 15522.0 | Розмір завантажених даних в байтах. | upload_content_length | -1.0 | Розмір завантажених даних в байтах. | starttransfer_time | 0.233354 | Вказує значення TTFB (Time To First Byte - час до першого байта) в секундах. | redirect_time | 0.0 | Час, витрачений на перенаправлення для завантаження канонічного контенту. | | | redirect_url | '' | канонічна URL-адреса та пункт призначення перенаправлення. | primary_ip | '76.76.21.21' | З якого IP був завантажений контент. | certinfo | array (0) | Більш детальна інформація про сертифікат цільового сайту. | primary_port | 443 | Використовуваний мережевий порт (80 означає HTTP, 443 - HTTPS). | local_ip | '192.168.0.186' | Локальна IP-адреса машини, яка відправила запит. | local_port | 56568 | Порт локального комп'ютера, з якого був відправлений запит. | Версія протоколу HTTP. 3. Версія протоколу HTTP. | Код протоколу, що використовується. 2 | Код протоколу, що використовується. | ssl_verifyresult | 0 | Результат перевірки SSL. | 'Схема' | 'HTTPS' | Протокол на початку URL-адреси. | appconnect_time_us | 186220 ¦ Час встановлення з'єднання з цільовим сервером. Вказано в мікросекундах. | | | connect_time_us | 35031 | Час з'єднання з сервером призначення. Вказано в мікросекундах. | | | namelookup_time_us | 21608 | Час, необхідний для перезапису домену через DNS-записи. Вказано в мікросекундах. | | | pretransfer_time_us ¦ 187275 ¦ Час, витрачений на передачу даних. Вказано в мікросекундах. | redirect_time_us | 0 | Час, витрачений на перенаправлення для завантаження канонічного контенту. Дається в мікросекундах. | starttransfer_time_us | 233354 | Вказує значення часу TTFB (Time To First Byte). За мікросекунди. | | | total_time_us | 233384 | Загальний час, витрачений на очікування відповіді. Вказано в мікросекундах.

Деякі ключі можуть бути не завжди доступні. Завжди перевіряйте наявність ключа та дійсність значення перед зчитуванням значення.

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
9.
Status:
All systems normal.
2024