2010-12-30 16 views
6

Tôi đang ở giữa viết một máy chủ FTP nhưng tôi hơi bối rối về định dạng để gửi danh sách tệp.Định dạng dữ liệu được trả về bởi lệnh FTP LIST?

Sử dụng 2 thiết bị đầu cuối và máy khách FTP, tôi đã có thể thực hiện một cách đơn giản Trao đổi FTP. Tuy nhiên, tôi không thực sự chắc chắn định dạng nào sẽ gửi danh sách tệp.

Có một số định dạng được chấp nhận không? Tôi nên sử dụng những cột nào?

+1

Tôi không tin rằng đây là * * bất cứ điều gì giống như một tiêu chuẩn. Các máy chủ khác nhau cho các kết quả đầu ra khác nhau, chúng được cho là có thể đọc được con người chứ không phải là máy có thể đọc được. – skaffman

+0

@skaffman bình luận tốt đẹp, nhưng điều này phải là một câu trả lời, không phải là một bình luận, để những người khác có thể bỏ phiếu cho nó. –

+0

@skaff: Vậy thì các máy khách FTP đồ họa phải giải thích chúng như thế nào? –

Trả lời

3

Đây là những gì RFC đã nói:

chuyển Dữ liệu được qua kết nối dữ liệu trong kiểu ASCII hoặc loại EBCDIC. (Người dùng phải đảm bảo rằng TYPE phù hợp ASCII hoặc EBCDIC). Vì thông tin trên một tệp có thể khác nhau rất nhiều từ hệ thống đến hệ thống, thông tin này có thể khó sử dụng trong một chương trình, nhưng có thể khá hữu ích đối với người dùng.

Vì vậy, kết quả là không được mong đợi sẽ tự động được phân tích cú pháp.

+0

Sau đó, các trình khách FTP đồ họa liệt kê các tệp như thế nào? –

+0

@George Edison - họ _probably_ có danh sách các định dạng thường được sử dụng và phân tích cú pháp các định dạng đó. – Oded

+0

@George Edison - Xem câu trả lời từ @Eugene Mayevsky, chúng được thực hiện thông qua _extensions_ theo tiêu chuẩn FTP. – Oded

3

Tiêu chuẩn không xác định định dạng danh sách thư mục được gửi/nhận bằng lệnh LIST. Hầu hết các máy chủ sử dụng định dạng danh sách Unix (không biết nếu nó được định nghĩa trong bất kỳ tài liệu nào, nhưng khá đơn giản để tạo và phân tích cú pháp), một số sử dụng định dạng DOS/Windows. Các định dạng khác (trên 400 như tôi biết) được sử dụng trên toàn thế giới, nhưng định dạng Unix đã trở thành một tiêu chuẩn thực tế.

Bây giờ, điều quan trọng cần thực hiện: lệnh mở rộng MLST và LMSD, được xác định trong RFC 3659. Họ xác định một cách để sản xuất và có được danh sách máy có thể đọc được, rất được hoan nghênh trong bất kỳ máy chủ FTP hiện đại nào.

Các vấn đề liên quan