Como leer los archivos de un servidor de FTP usando .NET

Una de las cosas que he estado haciendo en mis tiempos libres es lograr hacer un pequeño cliente de ftp y aqui esta el código para leer la lista de archivos del server.


System.Net.FtpWebRequest request =
(FtpWebRequest)WebRequest.Create (
"ftp://www.contoso.com/");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails ;

request.Credentials = new NetworkCredential(
"usuario", "password");
FtpWebResponse response =
(FtpWebResponse)request.GetResponse();

Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
Console.WriteLine(reader.ReadToEnd());
Console.WriteLine("Directory List Complete,
status {0}", response.StatusDescription);
Console.ReadLine();

reader.Close();
response.Close();

Saludos

5 thoughts to “Como leer los archivos de un servidor de FTP usando .NET”

  1. Hola! estoy intentando acceder a un ftp desde pda con ese código pero no me encuentra FtpWebRequest, y tengo la referencia a System.net…sabes porque puede ser? gracias!

  2. Esas clases no estas disponibles en el Compact Framework de .NET hasta donde he investigado.

    Aunque existen proyectos que implementan algo por el estilo.

    Saludos

  3. Hola Raul!
    Verás, el código que expones, lo he traducido a VB, y lo he utilizado en mi proyecto, pero no devuelve exactamente un listado de los ficheros, sino algo parecido a esto:

    -rw-rw-rw- 1 user group 1960210 Aug 27 05:16 Fichero.zip

    Cuando en realidad solamente deseo obtener el nombre del fichero, y no todo eso, o sea, obtener únicamente:

    Fichero.zip

    Sabes a qué se debe?
    Gracias!

  4. “Hola Raul!
    Verás, el código que expones, lo he traducido a VB, y lo he utilizado en mi proyecto, pero no devuelve exactamente un listado de los ficheros, sino algo parecido a esto:
    -rw-rw-rw- 1 user group 1960210 Aug 27 05:16 Fichero.zip
    Cuando en realidad solamente deseo obtener el nombre del fichero, y no todo eso, o sea, obtener únicamente:
    Fichero.zip
    Sabes a qué se debe?
    Gracias!”

    Es por esto:

    request.Method = WebRequestMethods.Ftp.ListDirectoryDetails ;

    debes ponerle solo ListDirectory;

    request.Method = WebRequestMethods.Ftp.ListDirectory ;

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.