2009-03-04 14 views
5

Czy .NET (C#) ma wbudowane biblioteki dla FTP? Nie potrzebuję niczego szalonego ... bardzo prosto.Korzystając z .NET 2.0, w jaki sposób mogę przesłać FTP do serwera, pobrać plik i usunąć plik?

muszę:

  1. FTP na konto
  2. wykryć, czy połączenie zostało odrzucone
  3. uzyskać plik tekstowy
  4. Usuń plik tekstowy

Jaki jest najłatwiejszy sposób to zrobić?

+0

To nie odpowiada na twoje potrzeby, ale zastanów się, że FTP jest protokołem niezaszyfrowanym. Jeśli masz możliwość zalecenia zmiany wymagań, możesz chcieć przeforsować protokół zaszyfrowany. –

+0

FTP może być zawijany w dowolnym zaszyfrowanym kanale, a sam FTP obsługuje szyfrowanie. Co to jest "protokół szyfrowany"? – bzlm

+0

Dane uwierzytelniające są przekazywane w sposób wyraźny - na pewno można je zawinąć - i jest to świetne rozwiązanie. Przypuszczam, że powinienem był powiedzieć, że to nie jest protokół zbudowany z myślą o szyfrowaniu. Ale wydawało się oczywiste ... Widziałem, że zbyt wielu ludzi zakłada, że ​​"hasła" FTP wystarczą. –

Odpowiedz

7

Użyj klasy FtpWebRequest lub zwykłej starej klasy WebClient.

FTP na konto i pobrać plik:

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 
} 

usunąć plik (. Przykłady kodu są z 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 implementuje GUI dla r klient FTP używający .NET 2.0 i ma pełne źródło z przykładami.

Przykładowy kod zawiera połączenie, pobieranie i wysyłanie oraz dobre komentarze i objaśnienia.

2

Po prostu użyj klasy FtpWebRequest. Zajmuje się już wszystkimi rzeczami, których potrzebujesz.

0

Użyj edtFTPnet, darmowej, open source biblioteki .NET FTP, która zrobi wszystko, czego potrzebujesz.