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