2009-03-04 27 views
5

.NET (C#) có được xây dựng trong thư viện cho FTP không? Tôi không cần bất cứ điều gì điên rồ ... rất đơn giản.Sử dụng .NET 2.0, làm cách nào để FTP vào máy chủ, lấy tệp và xóa tệp?

tôi cần phải:

  1. FTP vào một tài khoản
  2. Detect nếu kết nối bị từ chối
  3. Lấy một file văn bản
  4. Xóa các tập tin văn bản

gì là đơn giản nhất cách để làm điều này?

+0

Nó không giải quyết nhu cầu của bạn, nhưng hãy xem xét rằng FTP là một giao thức không được mã hóa. Nếu bạn có khả năng đề xuất thay đổi về yêu cầu, bạn có thể muốn đẩy cho một giao thức được mã hóa. –

+0

FTP có thể được gói trong bất kỳ kênh được mã hóa nào và bản thân FTP cũng hỗ trợ mã hóa. "Giao thức được mã hóa" là gì? – bzlm

+0

Dữ liệu xác thực được truyền đi rõ ràng - chắc chắn bạn có thể bọc nó - và đó là một giải pháp tuyệt vời. Tôi cho rằng tôi nên nói rằng nó không phải là một giao thức được xây dựng với mã hóa trong tâm trí. Nhưng nó có vẻ hiển nhiên ... Tôi vừa thấy quá nhiều người cho rằng FTP "mật khẩu" là đủ. –

Trả lời

7

Sử dụng lớp FtpWebRequest hoặc lớp cũ WebClient.

FTP vào một tài khoản và lấy một tập tin:

WebClient request = new WebClient(); 
request.Credentials = 
    new NetworkCredential("anonymous", "[email protected]"); 
try 
{ 
    // serverUri here uses the FTP scheme ("ftp://"). 
    byte[] newFileData = request.DownloadData(serverUri.ToString()); 
    string fileString = Encoding.UTF8.GetString(newFileData); 
} 
catch (WebException ex) 
{ 
    // Detect and handle login failures etc here 
} 

Xóa file: (. Mã ví dụ là từ MSDN)

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri); 
request.Method = WebRequestMethods.Ftp.DeleteFile; 
FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 
Console.WriteLine("Delete status: {0}", response.StatusDescription); 
response.Close(); 

2

This article triển khai GUI cho r một máy khách FTP sử dụng .NET 2.0 và có đầy đủ nguồn với các ví dụ.

Mã mẫu bao gồm kết nối, tải xuống và tải lên cũng như nhận xét và giải thích tốt.

2

Chỉ cần sử dụng lớp FtpWebRequest. Nó đã xử lý tất cả những thứ bạn cần.

0

Sử dụng edtFTPnet, một thư viện .NET FTP mã nguồn mở miễn phí sẽ thực hiện mọi thứ bạn cần.

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