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
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!
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
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!
Solo ingresa ListDirectory en lugar de ListDirectoryDetails
“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 ;