Recientemente he tenido que hacer un programa que entre otras cosas recogía y enviaba ficheros por FTP (programa en BOO sobre .net)
Tuve un problema cuando pedía la lista de ficheros (comando NLST) y el directorio no tenía ficheros
Me devolvía un error, pero no siempre
Miro y... código de error 550 que pueden ser diferentes cosas. Descripción del error "No files found" que es una de las posibles razones del error 550
Pero esto para mi era un problema
550 no es que no haya ficheros, también puede ser que no tengas permiso, por ejemplo
Pero yo quería saber si no había ficheros o no hay permisos o qué exactamente
Y no sirve con leer la descipción, porque es eso sólo una descripción.
No hay garantías que entre diferentes sistemas tengas la misma descripción en los mismos casos.
En ocasiones puedes tener más detalle y en otras menos
Pos vaya rollo lo del protocolo FTP...
O no, mejor mirar en el RFC de FTP (documento donde se especifica cómo debe trabajar)
Sorpresa 1.
A una petición de NLST no se le puede devolver un código de erorr 550 NUNCA ¿¿??
Probemos contra un servidor Linux a ver que dice al pedir la lista de un directorio vacío...
No devuelve código de error y de vuelve... en blanco, nada
Vaya, pues así me gusta más y además sigue es estándar
En ocasiones los estándares no son completos y pueden tener ambigüedades.
En otras ocasiones, el estándar tomó una decisión incorrecta
En estos casos, puede estar justificado hacer tu interpretación o mejora
(aunque con mucha cautela)
Pero nos encontramos con un caso en el que...
Mocosoft no sigue el estándar.
El estándar era claro y completo
La mejor solución era la del estándar
¿Porqué mocosoft lo hizo de otra forma?
No le encuentro ninguna razón que no sea perversa
No hay comentarios:
Publicar un comentario