(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().
opt
Puede 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.