//Se utiliza para obtener el error de la libreria Curl y obtener el mensaje
function GetCurlError(Codigo:CURLcode): String;
begin
Case Codigo of
CURLE_OK : Result:=('Proceso Exitoso');
CURLE_UNSUPPORTED_PROTOCOL : Result:=('La URL que se recibe no es soportada, o puede estar mal escrita verifique por favor');
CURLE_FAILED_INIT : Result:=('Fallo en la inicialización del objeto de conexion curl');
CURLE_URL_MALFORMAT : Result:=('El URL no se ha formateado correctamente ');
CURLE_OBSOLETE4 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_COULDNT_RESOLVE_PROXY : Result:=('No se pudo resolver proxy. El host proxy dado no se pudo resolver .');
CURLE_COULDNT_RESOLVE_HOST : Result:=('No se pudo resolver host. El host dado no se pudo resolver .');
CURLE_COULDNT_CONNECT : Result:=('Error al conectar al host o al proxy');
CURLE_FTP_WEIRD_SERVER_REPLY : Result:=('Respuesta inesperada del servidor FTP');
CURLE_REMOTE_ACCESS_DENIED : Result:=('Acceso remoto denegado al recurso declarado en la url');
CURLE_OBSOLETE10 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_FTP_WEIRD_PASS_REPLY : Result:=('Respuesta inesperada del servidor FTP');
CURLE_OBSOLETE12 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_FTP_WEIRD_PASV_REPLY : Result:=('No se pudo obtener un resultado razonable desde el servidor como respuesta a un comando o bien un EPSV o PASV. La respuesta del servidor es errónea.');
CURLE_FTP_WEIRD_227_FORMAT : Result:=('El Servidor FTP regreso una línea 227 como respuesta a un comando PASV.');
CURLE_FTP_CANT_GET_HOST : Result:=('Error interno al realizar la busqueda del host usado para la nueva conexion');
CURLE_OBSOLETE16 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_FTP_COULDNT_SET_TYPE : Result:=('Se recibió un error al intentar establecer el modo de transferencia a binario o ASCII');
CURLE_PARTIAL_FILE : Result:=('Un Archivo transferido fue mas corto o mas largo de lo esperado ');
CURLE_FTP_COULDNT_RETR_FILE : Result:=('Se encontro una respuesta inesperada a un comando RETR o o Una Transferencia Completa de cero bytes.');
CURLE_OBSOLETE20 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_QUOTE_ERROR : Result:=('Uno de los comandos enviados al servidor devuelve un Codigo 400 o mas');
CURLE_HTTP_RETURNED_ERROR : Result:=('Error CURLE_HTTP_RETURNED_ERROR');
CURLE_WRITE_ERROR : Result:=('Error al intentar escrbir los datos recibidos en un archivo local');
CURLE_OBSOLETE24 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_UPLOAD_FAILED : Result:=('Error al Subir el archivo al servidor');
CURLE_READ_ERROR : Result:=('Error al leer un archivo local');
CURLE_OUT_OF_MEMORY : Result:=('Error de solicitud de asignacion de memoria');
CURLE_OPERATION_TIMEDOUT : Result:=('Operation timeout,El perido especificado de espera fue alcanzado ');
CURLE_OBSOLETE29 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_FTP_PORT_FAILED : Result:=('El comando FTP PORT regreso un error');
CURLE_FTP_COULDNT_USE_REST : Result:=('El comando FTP REST regreso un error');
CURLE_OBSOLETE32 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_RANGE_ERROR : Result:=('El servidor no soporta ni acepta peticiones de rango');
CURLE_HTTP_POST_ERROR : Result:=('CURLE_HTTP_POST_ERROR, Error Interno');
CURLE_SSL_CONNECT_ERROR : Result:=('Se produjo un problema en alguna parte del SSL / TLS, Verifica los certificados,rutas, contraseñas o formato de los archivos ');
CURLE_BAD_DOWNLOAD_RESUME : Result:=('La descarga no podría reanudarse debido a que el desplazamiento especificado estaba fuera de los límites del archivo');
CURLE_FILE_COULDNT_READ_FILE : Result:=('El archivo no puede ser leido');
CURLE_LDAP_CANNOT_BIND : Result:=('Operación de enlace LDAP falló');
CURLE_LDAP_SEARCH_FAILED : Result:=('Búsqueda LDAP falló');
CURLE_OBSOLETE40 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_FUNCTION_NOT_FOUND : Result:=('función no encontrada');
CURLE_ABORTED_BY_CALLBACK : Result:=('Anulada por CallBack. Un callback devuelve "abortar" a curl.');
CURLE_BAD_FUNCTION_ARGUMENT : Result:=('Error Interno. Una funcion fue invocada con los parametros invalidos');
CURLE_OBSOLETE44 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_INTERFACE_FAILED : Result:=('Error de Interface, Uso especifico de una interfaz de salida podria no ser declarado.');
CURLE_OBSOLETE46 : Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_TOO_MANY_REDIRECTS : Result:=('Demasiados redireccionamientos. Al seguir redirecciones, se llega a la cantidad máxima.');
CURLE_UNKNOWN_TELNET_OPTION: Result:=('Opcion de telnet desconosida');
CURLE_TELNET_OPTION_SYNTAX : Result:=('Una opcion de telnet no esta correctamente formada');
CURLE_OBSOLETE50: Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl');
CURLE_PEER_FAILED_VERIFICATION: Result:=('Certificado SSL o SSH md5 huella digital del servidor remoto se consideró invalida.');
CURLE_GOT_NOTHING: Result:=('El servidor regreso una respuesta nula o vacia');
CURLE_SSL_ENGINE_NOTFOUND: Result:=('No se encontró el motor de cifrado especificado.');
CURLE_SSL_ENGINE_SETFAILED: Result:=('No se pudo establecer el motor de cifrado SSL seleccionada por defecto');
CURLE_SEND_ERROR: Result:=('Falló de envio de datos a la red');
CURLE_RECV_ERROR: Result:=('Error al recibir datos de la red');
CURLE_OBSOLETE57: Result:=('Una característica , el protocolo o la función solicitada no se encontró integrado en esta version de la libreria Curl.');
CURLE_SSL_CERTPROBLEM: Result:=('Problema con el certificado del cliente local.');
CURLE_SSL_CIPHER: Result:=('No se puede usar el cifrado especificado.');
CURLE_SSL_CACERT: Result:=('Peer certificate, no se puede autenticar con certificados de CA conocidos.');
CURLE_BAD_CONTENT_ENCODING: Result:=('Codificación de transferencia no reconocida.');
CURLE_LDAP_INVALID_URL: Result:=('URL LDAP Inválida.');
CURLE_FILESIZE_EXCEEDED: Result:=('Tamaño máximo de archivo excedido.');
CURLE_USE_SSL_FAILED: Result:=('El Nivel FTP SSL solicitado es inválido.');
CURLE_SEND_FAIL_REWIND: Result:=('Operacion de retroceso errónea.');
CURLE_SSL_ENGINE_INITFAILED: Result:=('Inicializacion del motor SSL Errónea.');
CURLE_LOGIN_DENIED: Result:=('El servidor remoto denegó el acceso, Error de autentificación. ');
CURLE_TFTP_NOTFOUND: Result:=('Archivo no encontrado en el servidor.');
CURLE_TFTP_PERM: Result:=('Problema de permisos en el servidor TFTP.');
CURLE_REMOTE_DISK_FULL: Result:=('No hay espacio libre en el servidor');
CURLE_TFTP_ILLEGAL: Result:=('Operación TFTP no válida.');
CURLE_TFTP_UNKNOWNID: Result:=('FTP TransferID desconocida. ');
CURLE_REMOTE_FILE_EXISTS: Result:=('El archivo ya existe y no puede ser sobreescrito.');
CURLE_TFTP_NOSUCHUSER: Result:=('Error Desconocido TFTP, CURLE_TFTP_NOSUCHUSER');
CURLE_CONV_FAILED: Result:=('Error en el proceso de conversión de caracteres .');
CURLE_CONV_REQD: Result:=('La llamada debe registrar las devoluciones de la llamada(Conversion callbacks)');
CURLE_SSL_CACERT_BADFILE: Result:=('Error leyendo el certificado SSL CA');
CURLE_REMOTE_FILE_NOT_FOUND: Result:=('Archivo remoto no encontrado');
CURLE_SSH: Result:=('Error inesperado durante la sesion SSH');
CURLE_SSL_SHUTDOWN_FAILED: Result:=('Error al apagar la conexión SSL');
CURLE_AGAIN: Result:=('El socket no esta listo para enviar datos esperar y reintentar');
CURLE_SSL_CRL_BADFILE: Result:=('Error al cargar el archivo CRL file.');
CURLE_SSL_ISSUER_ERROR: Result:=('The colour is Red');
CURLE_FTP_PRET_FAILED: Result:=('El servidor FTP no soporta el comando PRET o no soporta el argumento enviado.');
CURLE_RTSP_CSEQ_ERROR: Result:=('Discrepancia de los números CSeq RTSP(Real Time Streaming Protocol)');
CURLE_RTSP_SESSION_ERROR: Result:=('Error en los identificadores de sesión del RTSP(Real Time Streaming Protocol)');
CURLE_FTP_BAD_FILE_LIST: Result:=('No se puede convertir la lista de archivos FTP');
CURLE_CHUNK_FAILED: Result:=('Callback Chunk informó error.');
CURL_LAST : Result:=('Error No especificado, CURL_LAST')
else Result :=('Error Desconocido, Verifique su conexion a Internet');
end;