(PHP 4 >= 4.0.4, PHP 5, PHP 7)
curl_getinfo — Obtener información sobre una transferencia específica
Obtiene información sobre la última transferencia.
ch
El recurso cURL devuelto por curl_init().
optEsta puede ser una de las siguientes constantes:
CURLINFO_EFFECTIVE_URL - Última URL efectiva
CURLINFO_HTTP_CODE - El último código de respuesta.
A partir de PHP 5.5.0 y cURL 7.10.8, este es un alias heredado de
CURLINFO_RESPONSE_CODE
CURLINFO_FILETIME - Tiempo remoto del documento recuperado, con la constante CURLOPT_FILETIME habilitada; si -1 es devuelto el tiempo del documento es desconocido
CURLINFO_TOTAL_TIME - Tiempo total de transacción en segundos para la última transferencia
CURLINFO_NAMELOOKUP_TIME - El tiempo en segundos hasta que la resolución del nombre se haya completado
CURLINFO_CONNECT_TIME - El tiempo en segundos que tomó establecer la conexión
CURLINFO_PRETRANSFER_TIME - Tiempo en segundos desde el inicio hasta justo antes de que comience la transferencia de archivos
CURLINFO_STARTTRANSFER_TIME - Tiempo en segundos hasta que el primer byte está a punto de ser transferido
CURLINFO_REDIRECT_COUNT - Número de redirecciones, con la opción CURLOPT_FOLLOWLOCATION habilitada
CURLINFO_REDIRECT_TIME - Tiempo en segundos de todos los pasos de redireccionamiento antes de que se iniciara la transacción final, con la opción CURLOPT_FOLLOWLOCATION habilitada
CURLINFO_REDIRECT_URL - Con la opción CURLOPT_FOLLOWLOCATION deshabilitadad: redirigir la URL encontrada en la última transacción, que debe ser solicitado manualmente a continuación. Con la opción CURLOPT_FOLLOWLOCATION habilitada: esto está vacío. El URL de redireccionamiento en este caso está disponible en CURLINFO_EFFECTIVE_URL
CURLINFO_PRIMARY_IP - La dirección IP de la conexión más reciente
CURLINFO_PRIMARY_PORT - Puerto de destino de la conexión más reciente
CURLINFO_LOCAL_IP - Dirección IP local (fuente) de la conexión más reciente
CURLINFO_LOCAL_PORT - Puerto local (fuente) de la conexión más reciente
CURLINFO_SIZE_UPLOAD - Número total de bytes cargados
CURLINFO_SIZE_DOWNLOAD - Número total de bytes descargados
CURLINFO_SPEED_DOWNLOAD - Velocidad media de descarga
CURLINFO_SPEED_UPLOAD - Velocidad media de subida
CURLINFO_HEADER_SIZE - Tamaño total de todos los encabezados recibidos
CURLINFO_HEADER_OUT - El string de solicitud enviado. Para que esto
funcione, agregue la opción CURLINFO_HEADER_OUT al manejador llamando
curl_setopt()
CURLINFO_REQUEST_SIZE - Tamaño total de las solicitudes emitidas, actualmente sólo para las solicitudes HTTP
CURLINFO_SSL_VERIFYRESULT - Resultado de la verificación de la certificación SSL solicitada mediante el ajuste CURLOPT_SSL_VERIFYPEER
CURLINFO_CONTENT_LENGTH_DOWNLOAD - Longitud del contenido de la descarga, leído desde el campo Content-Length:
CURLINFO_CONTENT_LENGTH_UPLOAD - Tamaño especificado de la carga
CURLINFO_CONTENT_TYPE - Content-Type: de el documento. NULL indica que el servidor no envió un encabezado válido Content-Type:
CURLINFO_PRIVATE - Los datos privados asociados al manejador cURL, previamente establecido con la opción CURLOPT_PRIVATE de curl_setopt()
CURLINFO_RESPONSE_CODE - El último código de respuesta
CURLINFO_HTTP_CONNECTCODE - El código de respuesta CONNECT
CURLINFO_HTTPAUTH_AVAIL - Máscara de bits que indica el(los) método(s) de autenticación disponible(s) según la respuesta anterior
CURLINFO_PROXYAUTH_AVAIL - Máscara de bits que indica el(los) método(s) de autenticación del proxy disponible(s) según la respuesta anterior
CURLINFO_OS_ERRNO - Número de error de un fallo de conexión. El número es específico del sistema y del sistema operativo.
CURLINFO_NUM_CONNECTS - El número de conexiones que Curl tuvo que crear para lograr la transferencia anterior
CURLINFO_SSL_ENGINES - Los motores de cifrado OpenSSL soportados
CURLINFO_COOKIELIST - Todas las cookies conocidas
CURLINFO_FTP_ENTRY_PATH - Ruta de entrada en el servidor FTP
CURLINFO_APPCONNECT_TIME - El tiempo en segundos que tomó desde el inicio hasta que la conexión SSL/SSH al host remoto se completó
CURLINFO_CERTINFO - Cadena de certificados TLS
CURLINFO_CONDITION_UNMET - Información sobre el tiempo condicional no cumplido
CURLINFO_RTSP_CLIENT_CSEQ - Próximo cliente de RTSP CSeq
CURLINFO_RTSP_CSEQ_RECV - Recién recibido CSeq
CURLINFO_RTSP_SERVER_CSEQ - Próximo servidor RTSP CSeq
CURLINFO_RTSP_SESSION_ID - ID de la sesión RTSP
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T - El contenido de la descarga. Este es el valor leído de el campo Content-Type:. -1 si el tamaño no es conocido
CURLINFO_CONTENT_LENGTH_UPLOAD_T - El tamaño especificado de la carga. -1 si no se conoce el tamaño
CURLINFO_HTTP_VERSION - La versión usada en la última conexión HTTP. El valor devuelto será una de las constantes CURL_HTTP_VERSION_* constants o 0 si la versión no puede ser determinada
CURLINFO_PROTOCOL - El protocolo utilizado en la última conexión HTTP. El valor devuelto será exactamente uno de los valores CURLPROTO_*
CURLINFO_PROXY_SSL_VERIFYRESULT - El resultado de la verificación del certificado que se solicitó (usando la opción CURLOPT_PROXY_SSL_VERIFYPEER). Sólo se utiliza para los proxies HTTPS
CURLINFO_SCHEME - El esquema de URL usado para la conexión más reciente
CURLINFO_SIZE_DOWNLOAD_T - Número total de bytes que se descargaron. El número es sólo para la última transferencia y se restablecerá de nuevo para cada nueva transferencia
CURLINFO_SIZE_UPLOAD_T - Número total de bytes que se cargaron
CURLINFO_SPEED_DOWNLOAD_T - La velocidad media de descarga en bytes/segundo que cURL midió para la descarga completa
CURLINFO_SPEED_UPLOAD_T - La velocidad media de subida en bytes/segundo que cURL midió para la subida completa
CURLINFO_APPCONNECT_TIME_T - Tiempo, en microsegundos, que tomó desde el principio hasta que la conexión SSL/SSH al host remoto se completó
CURLINFO_CONNECT_TIME_T - Tiempo total tomado, en microsegundos, desde el inicio hasta que se completó la conexión con el host remoto (o proxy)
CURLINFO_FILETIME_T - Hora remota del documento recuperado (como la marca de tiempo de Unix), una alternativa a CURLINFO_FILETIME para permitir que los sistemas con variables de 32 bits de largo extraigan fechas fuera del rango de 32 bits de la marca de tiempo
CURLINFO_NAMELOOKUP_TIME_T - Tiempo en microsegundos desde el comienzo hasta que el nombre es resuelto.
CURLINFO_PRETRANSFER_TIME_T - El tiempo transcurrido desde el inicio hasta la transferencia de archivos está a punto de comenzar, en microsegundos
CURLINFO_REDIRECT_TIME_T - El tiempo total, en microsegundos, que tomó para todos los pasos de redireccionamiento incluyen la búsqueda del nombre, la conexión, la pretransferencia y la transferencia antes de que se iniciara la transacción final
CURLINFO_STARTTRANSFER_TIME_T - El tiempo, en microsegundos, que tomó desde el inicio hasta que se recibe el primer byte
CURLINFO_TOTAL_TIME_T - Tiempo total en microsegundos para la transferencia anterior, incluyendo la resolución de nombres, la conexión TCP, etc.
Si se da opt, devuelve este valor.
En caso contrario, devuelve un array asociativo con los siguientes valores
(que corresponden a opt), o FALSE en caso de error:
CURLINFO_HEADER_OUT
se establece por una llamada previa a curl_setopt())
CURLINFO_PRIVATE.
| Versión | Descripción |
|---|---|
| 7.3.0 |
Introdujo 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.
|
| 5.5.0 |
Introdujo CURLINFO_RESPONSE_CODE,
CURLINFO_HTTP_CONNECTCODE,
CURLINFO_HTTPAUTH_AVAIL,
CURLINFO_PROXYAUTH_AVAIL,
CURLINFO_OS_ERRNO,
CURLINFO_NUM_CONNECTS,
CURLINFO_SSL_ENGINES,
CURLINFO_COOKIELIST,
CURLINFO_FTP_ENTRY_PATH,
CURLINFO_APPCONNECT_TIME,
CURLINFO_CONDITION_UNMET,
CURLINFO_RTSP_CLIENT_CSEQ,
CURLINFO_RTSP_CSEQ_RECV,
CURLINFO_RTSP_SERVER_CSEQ y
CURLINFO_RTSP_SESSION_ID.
|
| 5.4.7 |
Introdujo CURLINFO_PRIMARY_IP,
CURLINFO_PRIMARY_PORT,
CURLINFO_LOCAL_IP y
CURLINFO_LOCAL_PORT.
|
| 5.3.7 |
Introdujo CURLINFO_REDIRECT_URL.
|
| 5.3.0 |
Introdujo CURLINFO_CERTINFO.
|
| 5.2.4 |
Introdujo CURLINFO_PRIVATE.
|
| 5.1.3 |
Introdujo CURLINFO_HEADER_OUT.
|
Ejemplo #1 Ejemplo de curl_getinfo()
<?php
// Crear un manejador cURL
$ch = curl_init('http://www.example.com/');
// Ejecutar
curl_exec($ch);
// Verificar si ocurrió algún error
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n";
}
// Close handle
curl_close($ch);
?>
Ejemplo #2 Ejemplo de curl_getinfo() con el parámetro opt
<?php
// Crear un manejador cURL
$ch = curl_init('http://www.example.com/');
// Ejecutar
curl_exec($ch);
// Comprueba el código de estado HTTP
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200: # OK
break;
default:
echo 'Unexpected HTTP code: ', $http_code, "\n";
}
}
// Close handle
curl_close($ch);
?>
Nota:
La información recogida por esta función se guarda si el manejador se reutiliza. Esto significa que a menos que una estadística sea anulada internamente por esta función, la información anterior es devuelta.