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();
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. –
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
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à đủ. –