Listado de errores de cURL y su explicación

Listado de errores de cURL y su explicación

¿Qué es cURL?

cURL (Client URL) es una biblioteca y una herramienta de línea de comandos que permite a los desarrolladores transferir datos a través de distintos protocolos, como HTTP, HTTPS, FTP, entre otros. Es especialmente útil en el desarrollo web para realizar llamadas API, descargar archivos, y mucho más.

Errores comunes en cURL

A continuación, detallamos los errores más frecuentes que pueden encontrar los usuarios de cURL, explicamos su significado y proporcionamos ejemplos de cómo solucionarlos.

1. cURL error 6: Unable to resolve host

Este error indica que cURL no pudo resolver el nombre de dominio proporcionado. Generalmente, esto se debe a fallas en la conexión de red o un error tipográfico en la URL.

Solución: Verifica la conexión a Internet y asegúrate de que el nombre de dominio esté escrito correctamente.

2. cURL error 7: Failed to connect to host

Este error ocurre cuando cURL no puede establecer una conexión con el servidor. Puede ser causado por un servidor caído o bloqueos de firewall.

Solución: Comprueba si el servidor está activo y accesible desde tu ubicación. También, verifica configuraciones de firewall que puedan estar bloqueando la conexión.

3. cURL error 28: Operation timed out

Indica que la operación realizada por cURL ha excedido el tiempo de espera. Esto puede suceder al intentar conectarse a un servicio que no responde.

Solución: Aumenta el tiempo de espera utilizando la opción CURLOPT_TIMEOUT, como se muestra a continuación:


curl_setopt($ch, CURLOPT_TIMEOUT, 30); // Establecer timeout a 30 segundos

4. cURL error 22: HTTP error

Este error se produce cuando cURL recibe un código de estado HTTP no válido o inesperado al realizar una solicitud. Esto incluye códigos 4xx y 5xx.

Solución: Revisa la respuesta del servidor para identificar el código de error. Puedes utilizar el siguiente ejemplo para obtener más información sobre el error:


$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo 'Respuesta: ' . $response;
}

5. cURL error 60: SSL certificate problem

Este error indica que hay un problema con el certificado SSL del servidor. Puede ser que el certificado sea auto-firmado o simplemente no esté presente.

Solución: Puedes omitir la verificación del certificado SSL (aunque no se recomienda en producción) usando:


curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

6. cURL error 35: SSL connect error

Este error señala que hay un problema al establecer una conexión SSL. Puede estar causado por versiones incompatibles de TLS o configuraciones inadecuadas en el servidor.

Solución: Asegúrate de que tanto tu servidor como cURL estén actualizados y sean compatibles con las versiones más recientes de TLS.

7. cURL error 1: Unsupported protocol

Este error se produce cuando se intenta utilizar un protocolo que no está habilitado o no es soportado por la instalación de cURL.

Solución: Verifica las configuraciones de la instalación de cURL y asegúrate de que tienes habilitados los protocolos necesarios.

Prácticas recomendadas para usar cURL

Para minimizar la aparición de errores al usar cURL, considera adoptar las siguientes prácticas recomendadas:

  • Validar las URL: Asegúrate de que las URLs estén bien formadas antes de hacer una solicitud.
  • Gestionar errores apropiadamente: Implementa siempre la lógica para manejar errores y excepciones.
  • Realizar pruebas en entornos seguros: Siempre prueba en entornos de desarrollo antes de implementar en producción.
  • Mantener cURL actualizado: Asegúrate de utilizar la versión más reciente de cURL para aprovechar las mejoras en seguridad y rendimiento.

Listado de Códigos de Error de cURL

Código Nombre del Error Descripción
0 Success La operación se completó con éxito de acuerdo a las instrucciones.
1 Unsupported protocol Esta versión de curl no es compatible con el protocolo utilizado.
2 Failed to initialize Error al inicializar.
3 URL malformed La sintaxis de la URL no es correcta.
4 A required feature/option was not enabled Una característica u opción necesaria para la solicitud no estaba habilitada o fue deshabilitada explícitamente en tiempo de compilación.
5 Could not resolve proxy El host proxy especificado no pudo resolverse.
6 Could not resolve host El host remoto especificado no pudo resolverse.
7 Failed to connect to host Error al conectar con el host.
8 Weird server reply El servidor envió datos que curl no pudo analizar.
9 FTP access denied El servidor denegó el inicio de sesión o el acceso al recurso/directorio. A menudo, se intentó cambiar a un directorio que no existe.
10 FTP accept failed Mientras se esperaba la conexión del servidor en una sesión FTP activa, se envió un código de error a través de la conexión de control.
11 FTP weird PASS reply curl no pudo analizar la respuesta enviada al comando PASS.
12 FTP active transfer timeout Durante una sesión FTP activa, el tiempo de espera expiró mientras se esperaba que el servidor se conectara de vuelta a curl.
13 FTP weird PASV reply curl no pudo analizar la respuesta enviada al comando PASV.
14 FTP weird 227 format curl no pudo analizar la línea 227 enviada por el servidor.
15 FTP cannot use host No se pudo resolver la IP del host recibida en la línea 227.
16 HTTP/2 error Se detectó un problema en la capa de framing de HTTP/2. Problema genérico; ver el mensaje de error para más detalles.
17 FTP could not set binary No se pudo cambiar el método de transferencia a binario.
18 Partial file Solo se transfirió una parte del archivo.
19 FTP could not download/access file El comando RETR (o similar) falló para descargar/acceder al archivo.
21 FTP quote error Un comando quote devolvió un error del servidor.
22 HTTP page not retrieved La URL solicitada no se encontró o devolvió otro error con código HTTP 400 o superior. Este código solo aparece si se usa --fail.
23 Write error curl no pudo escribir datos en el sistema de archivos local o similar.
25 Failed starting the upload Fallo al iniciar la carga. Para FTP, el servidor normalmente denegó el comando STOR.
26 Read error Varios problemas de lectura.
27 Out of memory Falló una solicitud de asignación de memoria.
28 Operation timeout Se alcanzó el período de tiempo de espera especificado según las condiciones.
30 FTP PORT failed El comando PORT falló. No todos los servidores FTP lo admiten; intente usar PASV.
31 FTP could not use REST El comando REST falló. Se usa para reanudar transferencias FTP.
33 HTTP range error El comando de rango no funcionó.
34 HTTP post error Error interno de generación de la solicitud POST.
35 SSL connect error Falló el handshaking SSL.
36 Bad download resume No se pudo continuar una descarga abortada anteriormente.
37 FILE could not read file Error al abrir el archivo. ¿Problemas de permisos?
38 LDAP cannot bind Falló la operación de enlace LDAP.
39 LDAP search failed Falló la búsqueda LDAP.
41 Function not found No se encontró una función LDAP requerida.
42 Aborted by callback Una aplicación le dijo a curl que abortara la operación.
43 Internal error Una función fue llamada con un parámetro incorrecto.
45 Interface error No se pudo utilizar una interfaz de salida especificada.
47 Too many redirects Al seguir redirecciones, curl alcanzó la cantidad máxima.
48 Unknown option Se especificó una opción desconocida para libcurl.
49 Malformed telnet option Opción telnet mal formada.
52 Empty reply from server El servidor no respondió nada, lo que se considera un error.
53 SSL crypto engine not found No se encontró el motor de criptografía SSL.
54 Cannot set SSL crypto engine as default No se puede establecer el motor de criptografía SSL como predeterminado.
55 Failed sending network data Fallo al enviar datos de red.
56 Failure in receiving network data Fallo al recibir datos de red.
58 Problem with the local certificate Problema con el certificado local.
59 Could not use specified SSL cipher No se pudo utilizar el cifrado SSL especificado.
60 Peer certificate cannot be authenticated El certificado del peer (servidor) no se puede autenticar con los certificados CA conocidos.
61 Unrecognized transfer encoding Codificación de transferencia no reconocida.
63 Maximum file size exceeded Se superó el tamaño máximo del archivo.
64 Requested FTP SSL level failed Falló el nivel SSL FTP solicitado.
65 Sending data requires rewind that failed El envío de datos requiere un rebobinado (rewind) que falló.
66 Failed to initialize SSL Engine Fallo al inicializar el motor SSL.
67 Login denied El nombre de usuario, contraseña o similar no fue aceptado y curl falló al iniciar sesión.
68 File not found on TFTP server Archivo no encontrado en el servidor TFTP.
69 Permission problem on TFTP server Problema de permisos en el servidor TFTP.
70 Out of disk space on TFTP server Sin espacio en disco en el servidor TFTP.
71 Illegal TFTP operation Operación TFTP ilegal.
72 Unknown TFTP transfer ID ID de transferencia TFTP desconocido.
73 File already exists (TFTP) El archivo ya existe (TFTP).
74 No such user (TFTP) No existe tal usuario (TFTP).
77 Problem reading the SSL CA cert Problema al leer el certificado CA SSL (¿ruta? ¿derechos de acceso?).
78 The resource referenced in the URL does not exist El recurso referenciado en la URL no existe.
79 Unspecified error during SSH session Ocurrió un error no especificado durante la sesión SSH.
80 Failed to shut down the SSL connection Fallo al cerrar la conexión SSL.
82 Could not load CRL file No se pudo cargar el archivo CRL (lista de revocación de certificados), falta o tiene un formato incorrecto.
83 Issuer check failed Falló la comprobación del emisor del certificado.
84 The FTP PRET command failed El comando FTP PRET falló.
85 Mismatch of RTSP CSeq numbers Desajuste de los números CSeq de RTSP.
86 Mismatch of RTSP Session Identifiers Desajuste de los identificadores de sesión RTSP.
87 Unable to parse FTP file list No se puede analizar la lista de archivos FTP.
88 FTP chunk callback reported error La devolución de llamada del chunk de FTP reportó un error.
89 No connection available, the session is queued No hay conexión disponible, la sesión está en cola.
90 SSL public key does not match pinned public key La clave pública SSL no coincide con la clave pública anclada (pinned).
91 Invalid SSL certificate status Estado de certificado SSL no válido.
92 Stream error in HTTP/2 framing layer Error de stream en la capa de framing de HTTP/2.
93 An API function was called from inside a callback Se llamó a una función API desde dentro de un callback.
94 An authentication function returned an error Una función de autenticación devolvió un error.
95 Problem in the HTTP/3 layer Se detectó un problema en la capa HTTP/3. Genérico; ver el mensaje de error para más detalles.
96 QUIC connection error Error de conexión QUIC (protocolo de HTTP/3). Puede ser causado por un error de la biblioteca SSL.
97 Proxy handshake error Error en el handshake del proxy.
98 A client-side certificate is required Se requiere un certificado del lado del cliente para completar el handshake TLS.
99 Poll or select returned fatal error Poll o select devolvió un error fatal.
100 A value or data field grew larger than allowed Un valor o campo de datos creció más de lo permitido.

Resumen de errores

Conocer y entender los errores comunes de cURL no solo ayuda a mejorar la productividad sino que también permite ejecutar operaciones de red de manera más segura y eficiente. Ahora que tienes una lista de errores comunes, estarás mejor preparado para diagnosticar problemas al usar cURL.

Fuentes y lecturas recomendadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies