(PHP 4 >= 4.0.4, PHP 5, PHP 7)
curl_getinfo — Obtener información relativa a una transferencia específica
Obtiene información sobre la última transferencia.
ch
El recurso cURL devuelto por curl_init().
optPuede ser una de las siguientes constantes:
CURLINFO_EFFECTIVE_URL - Último URL efectivo
CURLINFO_HTTP_CODE - Último código HTTP recibido
CURLINFO_FILETIME - Hora del documento remoto obtenido; si devuelve -1, la hora del documento es desconocida
CURLINFO_TOTAL_TIME - Duración total, en segundos, de última transferencia
CURLINFO_NAMELOOKUP_TIME - Tiempo, en segundos, en resolver el nombre
CURLINFO_CONNECT_TIME - Tiempo, en segundos, que tomó el establecimiento de la conexión
CURLINFO_PRETRANSFER_TIME - Tiempo, en segundos, desde el inicio hasta justo antes de que comience la transferencia del fichero
CURLINFO_STARTTRANSFER_TIME - Tiempo, en sengudos, hasta que el primer byte está a punto de transferirse
CURLINFO_REDIRECT_COUNT - Número de redireccionamientos, con la opción CURLOPT_FOLLOWLOCATION habilitada
CURLINFO_REDIRECT_TIME - Tiempo, en segundos, de todos los pasos de redireción antes de que la última transación haya empezado, con la opción CURLOPT_FOLLOWLOCATION habilitada
CURLINFO_REDIRECT_URL - Con la opción CURLOPT_FOLLOWLOCATION inhabilitada: URL de redirección encontrado en la última transacción, que debería ser solicitado manualmente luego. Con la opción CURLOPT_FOLLOWLOCATION habilitada: está vacío. El URL de redirección en este caso está disponible en CURLINFO_EFFECTIVE_URL
CURLINFO_PRIMARY_IP - 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 subidos
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 los encabezados recibidos
CURLINFO_HEADER_OUT - El string de la petición enviada. Para que
funcione, se ha de añadir la opción CURLINFO_HEADER_OUT al manejador, llamando
a curl_setopt()
CURLINFO_REQUEST_SIZE - Tamaño total de las peticiones realizadas, actualmente solo para peticiones HTTP
CURLINFO_SSL_VERIFYRESULT - Resultado de la verificación del certificado SSL solicitado por la opción CURLOPT_SSL_VERIFYPEER
CURLINFO_CONTENT_LENGTH_DOWNLOAD - Logitud del contenido de la descarga, leída desde el campo Content-Length:
CURLINFO_CONTENT_LENGTH_UPLOAD - Tamaño especificado de subida
CURLINFO_CONTENT_TYPE - Content-Type: del documento solicitado. NULL indica que el servidor no envío un encabezado Content-Type: válido.
CURLINFO_PRIVATE - Datos privados asociados a este manejador de cURL, previamente establecidos 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 de CONNECT
CURLINFO_HTTPAUTH_AVAIL - Máscara de bits que indica el/los método/s de autenticación disponible/s de acuerdo a la respuesta anterior
CURLINFO_PROXYAUTH_AVAIL - Máscara de bits que indica el/los método/s de autenticaición proxy disponible/s de acuerdo a la respuesta anterior
CURLINFO_OS_ERRNO - Número de error (errno) de un fallo de conexion. Es número es específico de cada SO y sistema
CURLINFO_NUM_CONNECTS - Número de conexiones que curl ha tenido que crear para lograr la transferencia anterior
CURLINFO_SSL_ENGINES - Criptomotores OpenSSL admitidos
CURLINFO_COOKIELIST - Todas las cookies conocidas
CURLINFO_FTP_ENTRY_PATH - Ruta de entrada en el servidor FTP
CURLINFO_APPCONNECT_TIME - Tiempo, en segundos, desde el inicio hasta la conexión/apretón de manos SSL/SSH del host remoto
CURLINFO_CERTINFO - Serie de certificados TLS
CURLINFO_CONDITION_UNMET - Información del condicional de timepo unmet
CURLINFO_RTSP_CLIENT_CSEQ - Siguiente CSeq cliente de RTSP
CURLINFO_RTSP_CSEQ_RECV - CSeq recivido recientemente
CURLINFO_RTSP_SERVER_CSEQ - Siguiente CSeq servidor de RTSP
CURLINFO_RTSP_SESSION_ID - ID de sesión de RTSP
Si se indica el parámetro, opt, devolverá su valor.
De lo contrario, devolverá un array asociativo con los siguientes elementos
(que se corresponden a opt), o FALSE en caso de error:
CURLINFO_HEADER_OUT
está establecido por una llamada previa a curl_setopt())
CURLINFO_PRIVATE.
| Versión | Descripción |
|---|---|
| 5.5.0 |
Se introdujeron 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 |
Se introdujeros CURLINFO_PRIMARY_IP,
CURLINFO_PRIMARY_PORT,
CURLINFO_LOCAL_IP y
CURLINFO_LOCAL_PORT.
|
| 5.3.7 |
Se introdujo CURLINFO_REDIRECT_URL.
|
| 5.3.0 |
Se introdujo CURLINFO_CERTINFO.
|
| 5.2.4 |
Se introdujo CURLINFO_PRIVATE.
|
| 5.1.3 |
Se introdujo CURLINFO_HEADER_OUT.
|
Ejemplo #1 Ejemplo de curl_getinfo()
<?php
// Crear un manejador de cURL
$ch = curl_init('http://www.example.com/');
// Ejecutar
curl_exec($ch);
// Comprobar si ocurrió un error
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Se tardó ', $info['total_time'], ' segundos en enviar una petición a ', $info['url'], "\n";
}
// Cerrar el manejador
curl_close($ch);
?>
Ejemplo #2 Ejemplo de curl_getinfo() con el parámetro opt
<?php
// Crear un manejador de cURL
$ch = curl_init('http://www.example.com/');
// Ejecutar
curl_exec($ch);
// Comprobar 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 'Código HTTP inesperado: ', $http_code, "\n";
}
}
// Cerrar el manejador
curl_close($ch);
?>
Nota:
La información obtenida por esta función se mantiene si se reutiliza el manejador. Esto significa que, a no ser que una estadística sea sobrescrita internamente por esta función, se devolverá la información previa.