2010-12-30 14 views
6

Estoy escribiendo un servidor FTP pero estoy un poco confundido acerca de en qué formato enviar la lista de archivos.Formato de los datos devueltos por el comando FTP LIST?

Usando 2 terminales y un cliente FTP, pude ejecutar a través de un simple Intercambio de FTP. Sin embargo, no estaba muy seguro de en qué formato enviar las listas de archivos.

¿Hay algún formato aceptado? ¿Qué columnas debería usar?

+1

Yo no creo que esto es * * nada parecido a una norma. Diferentes servidores dan diferentes resultados, se supone que son legibles por humanos en lugar de legibles por máquina. – skaffman

+0

@skaffman buen comentario, pero esto debería ser una respuesta, no un comentario, para que otros puedan votar por ello. –

+0

@skaff: Entonces, ¿cómo se supone que los clientes gráficos FTP deben interpretarlos? –

Respuesta

3

Esto es lo que el RFC tiene que decir:

transferir los datos ha terminado la conexión de datos en ASCII tipo o tipo EBCDIC. (El usuario debe asegurarse de que el TYPE sea apropiadamente ASCII o EBCDIC). Dado que la información en un archivo puede variar ampliamente de un sistema a otro, esta información puede ser difícil de usar automáticamente en un programa, pero puede ser bastante útil para un usuario humano.

Por lo tanto, el resultado es no espera que sea analizada automáticamente.

+0

Entonces, ¿cómo enumeran los archivos los clientes FTP gráficos? –

+0

@George Edison - ellos _probablemente_ tienen una lista de formatos comúnmente usados ​​y los analizan. – Oded

+0

@George Edison - Vea la respuesta de @Eugene Mayevsky, aparentemente estas se hacen a través de _extensiones_ al estándar FTP. – Oded

3

La norma no define el formato de la lista del directorio enviado/recibido utilizando el comando LISTAR. La mayoría de los servidores usan el formato de listado de Unix (no sé si está definido en algún documento, pero es bastante simple de generar y analizar), algunos usan el formato DOS/Windows. Otros formatos (más de 400 que yo sepa) se usan en todo el mundo, pero el de Unix se ha convertido en un estándar de facto.

Ahora hay algo importante que implementar: comandos de extensión MLST y LMSD, definidos en RFC 3659. Definen una forma de producir y obtener una lista legible por máquina, que es muy bienvenida en cualquier servidor FTP moderno.

Cuestiones relacionadas