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();
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. –
FTP może być zawijany w dowolnym zaszyfrowanym kanale, a sam FTP obsługuje szyfrowanie. Co to jest "protokół szyfrowany"? – bzlm
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ą. –