/
HTTP

Obtención de información de peticiones HTTP a través de cURL

06. 07. 2022

Obsah článku

La función PHP `curl_getinfo()` proporciona información detallada sobre la petición cURL ejecutada. Este artículo explica el significado de cada campo.

Ejemplo de uso

Llama a la función sobre el resultado del contexto de 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);

Tabla de valores

La función curl_getinfo() devuelve un array asociativo del que se pueden recuperar claves y valores individuales.

Clave Valor de ejemplo Explicación
url 'https://baraja.cz/' URL descargada.
content_type 'text/html; charset=utf-8' Codificación y tipo de contenido utilizado (reclamado por el servidor de destino).
http_code 200 Código de estado HTTP devuelto. 200 significa OK.
header_size 462 Tamaño de la cabecera de la petición HTTP en bytes.
request_size 47 Tamaño de la solicitud.
filetime -1 Hora del archivo (reclamaciones del servidor).
ssl_verify_result 0 Comprobación SSL.
redirect_count 0 Número de redirecciones antes de llegar al documento de destino.
total_time 0.233384 Tiempo total de espera de la respuesta. Dado en segundos.
namelookup_time 0.021608 Tiempo de resolución del dominio en los registros DNS. Se especifica en segundos.
connect_time 0.035031 Tiempo para establecer una conexión con el servidor de destino. Se especifica en segundos.
pretransfer_time 0.187275 Tiempo requerido para transferir los datos. Se especifica en segundos.
size_upload 0.0 Tamaño de los datos cargados en bytes.
size_download 0.0 Tamaño de los datos descargados en bytes.
speed_download 0.0 Velocidad de descarga en bytes por segundo.
speed_upload 0.0 Velocidad de carga en bytes por segundo.
download_content_length 15522.0 Tamaño de los datos descargados en bytes.
upload_content_length -1.0 Tamaño de los datos subidos en bytes.
starttransfer_time 0.233354 Indica el valor de TTFB (Time To First Byte) en segundos.
redirect_time 0.0 Tiempo de redirección para descargar el contenido canónico.
redirect_url '' URL canónica y destino de la redirección.
primary_ip '76.76.21.21' Desde qué IP se descargó el contenido.
certinfo array (0) Más detalles sobre el certificado del sitio de destino.
primary_port 443 El puerto de red utilizado (80 significa HTTP, 443 significa HTTPS).
local_ip '192.168.0.186' Dirección IP local de la máquina que envió la solicitud.
local_port 56568 Puerto de la máquina local desde la que se envió la solicitud.
http_version 3 Versión del protocolo HTTP.
protocol 2 Código del protocolo utilizado.
ssl_verifyresult 0 Resultado de la verificación SSL.
scheme 'HTTPS' Protocolo al principio de la URL.
appconnect_time_us 186220 Tiempo de conexión con el servidor de destino. Se especifica en microsegundos.
connect_time_us 35031 Tiempo de conexión con el servidor de destino. Se especifica en microsegundos.
namelookup_time_us 21608 Tiempo necesario para reescribir el dominio a través de los registros DNS. Se especifica en microsegundos.
pretransfer_time_us 187275 Tiempo de transferencia de datos. Se especifica en microsegundos.
redirect_time_us 0 Tiempo de redirección para descargar el contenido canónico. Dado en microsegundos.
starttransfer_time_us 233354 Indica el valor del tiempo TTFB (Time To First Byte). En microsegundos.
total_time_us 233384 Tiempo total de espera de una respuesta. Se especifica en microsegundos.

Es posible que algunas llaves no estén siempre disponibles. Verifique siempre la existencia de la clave y la validez del valor antes de leer el valor.

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.