Usando .NET 2.0, como faço para FTP para um servidor, obter um arquivo e excluir o arquivo?
Pergunta
O .NET (C #) têm construído em bibliotecas para FTP? Eu não preciso de nenhuma loucura ... muito simples.
Eu preciso:
- FTP em uma conta ??li>
- detectar se a conexão foi recusada
- Obter um arquivo de texto
- Exclua o arquivo de texto
O que é a maneira mais fácil de fazer isso?
Solução
Use o href="http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx" rel="nofollow noreferrer"> FtpWebRequest classe , ou o plain classe WebClient de idade.
FTP em uma conta e recuperar um arquivo:
WebClient request = new WebClient();
request.Credentials =
new NetworkCredential("anonymous", "janeDoe@contoso.com");
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
}
Excluir o arquivo:
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();
(exemplos de código são da MSDN.)
Outras dicas
implementos Este artigo uma GUI para um cliente FTP usando .NET 2.0 e tem fonte completo com exemplos.
Exemplo de código inclui conexão, download e upload, bem como bons comentários e explicações.
Basta usar o href="http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx" rel="nofollow noreferrer"> FtpWebRequest classe . Ele já lida com todas as coisas que você precisa.
Use edtFTPnet , um, open source biblioteca livre .NET FTP que vai fazer tudo o que você precisa.