PHP Manual

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

2022-07-06T17:50:00.000Z

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 ''
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
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.
2025