error con aplicacion ftp

27/04/2010 - 00:34 por JSMD | Informe spam
Hola,
Tengo un problema con un aplicativo ftp que he creado.
Me sale el siguiente error :

The remote server returned an error: 150 Opening BINARY mode data connection

El código para descargar los archivos es el siguiente:

WebClient reqFTP = new WebClient();
reqFTP.Credentials = new NetworkCredential(UserName, Password);

fileName = filename;
reqFTP.DownloadFile("ftp://" + Server + filename, filenamedestino);

Alguien puede decirme a q se debe ese error y como resolverlo?

Tambien he intentado hacerlo utilizando FtpWebRequest y tengo el mismo error,
Lo curioso es que si trato con otro servidor ftp, no tengo ese error.

Se aceptan y agradecen todas las sugerencias y aportes

Preguntas similare

Leer las respuestas

#1 Leandro Tuttini
27/04/2010 - 05:56 | Informe spam
hola
en lugar de usar el WebClient, proque no usas las clases

FtpWebRequest 
http://msdn.microsoft.com/es-es/lib...quest.aspx

FtpWebResponse 
http://msdn.microsoft.com/es-es/lib...ponse.aspx

lo planteo porque creo que estarian mas especializadas para la
conexion por FTP

FTPWebRequest - Connecting to the Server with .Net
http://www.vcskicks.com/download-file-ftp.php

How to: Upload Files with FTP
http://msdn.microsoft.com/en-us/lib...29715.aspx


aunque por lo que veo ya has probado con esta clase

has probado conectarte a ese servidor con un cliente de FTP, del
estilo de
FileZilla
http://filezilla-project.org/

solo para validar que por otro medio a ese servicio este correctamente
funcionando

saludos
Respuesta Responder a este mensaje
#2 Alberto Poblacion
27/04/2010 - 08:38 | Informe spam
"JSMD" wrote in message
news:
Hola,
Tengo un problema con un aplicativo ftp que he creado.
Me sale el siguiente error :

The remote server returned an error: 150 Opening BINARY mode data
connection



El código 150 indica que se ha enviado con éxito el comando para abir la
conexión. Si a partir de ahi no funciona, probablemente sea problema de
cortafuegos en el lado servidor. En modo Pasivo, el protocolo FTP requiere
que el cliente abra la conexión de datos hacia un puerto arbitrario del
servidor (que se lo indica el servidor al cliente al iniciar el diálogo
ftp). Si no están esos puertos abiertos en el cortafuegos, la conexión se
"atasca" en el "Opening", como te está sucediendo.
La solución, desde el punto de vista del servidor, es cambiar a modo
Activo. En este modo el servidor abre la conexión de datos hacia el cliente,
y no hay problema de cortafuegos en el lado servidor. El problema de este
modo es que el cliente tiene que tener una dirección visible desde el
servidor (y tener los puertos abiertos en su cortafuegos), por lo que no
funciona si el cliente está detrás de un NAT.
El modo activo/pasivo se cambia mediante la propiedad UsePassive del
FtpWebRequest (por defecto vale true).
Respuesta Responder a este mensaje
#3 JSMD
27/04/2010 - 17:12 | Informe spam
Gracias Leandro,

Voya revisar los links. Talvez haya algo q no este haciendo bien

"Leandro Tuttini" wrote:

hola
en lugar de usar el WebClient, proque no usas las clases

FtpWebRequest
http://msdn.microsoft.com/es-es/lib...quest.aspx

FtpWebResponse
http://msdn.microsoft.com/es-es/lib...ponse.aspx

lo planteo porque creo que estarian mas especializadas para la
conexion por FTP

FTPWebRequest - Connecting to the Server with .Net
http://www.vcskicks.com/download-file-ftp.php

How to: Upload Files with FTP
http://msdn.microsoft.com/en-us/lib...29715.aspx


aunque por lo que veo ya has probado con esta clase

has probado conectarte a ese servidor con un cliente de FTP, del
estilo de
FileZilla
http://filezilla-project.org/

solo para validar que por otro medio a ese servicio este correctamente
funcionando

saludos
.

Respuesta Responder a este mensaje
#4 JSMD
27/04/2010 - 17:27 | Informe spam
Hola Alberto,

Gracias por tu comentario. Es de mucha utildad para acalarar algunos puntos,
sin embargo te comento que antes de iniciar la descarga de los archivos, hago
una primera conexion al servidor para obtener la lista de archivos de la
carpeta q me interesa. Para ello utilizo FTPWebRequest() , ya que WebClient()
no tiene un método para obtener esa información.

Con FtpWebRequest() si puedo conectarme y obtengo la lista de archivos; pero
cuando trato de descargar los archivos utilizando tambien FtpWebRequest (),
se vuelve a presentar el mismo problema.

Alguna idea pq si me deja conectarme solo para obtener la lista de archivos
y no me deja descargarlos?.
Gracias nuevamente por los comentarios

"Alberto Poblacion" wrote:

"JSMD" wrote in message
news:
> Hola,
> Tengo un problema con un aplicativo ftp que he creado.
> Me sale el siguiente error :
>
> The remote server returned an error: 150 Opening BINARY mode data
> connection

El código 150 indica que se ha enviado con éxito el comando para abir la
conexión. Si a partir de ahi no funciona, probablemente sea problema de
cortafuegos en el lado servidor. En modo Pasivo, el protocolo FTP requiere
que el cliente abra la conexión de datos hacia un puerto arbitrario del
servidor (que se lo indica el servidor al cliente al iniciar el diálogo
ftp). Si no están esos puertos abiertos en el cortafuegos, la conexión se
"atasca" en el "Opening", como te está sucediendo.
La solución, desde el punto de vista del servidor, es cambiar a modo
Activo. En este modo el servidor abre la conexión de datos hacia el cliente,
y no hay problema de cortafuegos en el lado servidor. El problema de este
modo es que el cliente tiene que tener una dirección visible desde el
servidor (y tener los puertos abiertos en su cortafuegos), por lo que no
funciona si el cliente está detrás de un NAT.
El modo activo/pasivo se cambia mediante la propiedad UsePassive del
FtpWebRequest (por defecto vale true).

.

Respuesta Responder a este mensaje
#5 RFOG
27/04/2010 - 17:40 | Informe spam
Me da la impresión de que tu estás pidiendo en modo texto y el server
quiere en modo binario...

On Tue, 27 Apr 2010 17:27:01 +0200, JSMD
wrote:

Hola Alberto,

Gracias por tu comentario. Es de mucha utildad para acalarar algunos
puntos,
sin embargo te comento que antes de iniciar la descarga de los archivos,
hago
una primera conexion al servidor para obtener la lista de archivos de la
carpeta q me interesa. Para ello utilizo FTPWebRequest() , ya que
WebClient()
no tiene un método para obtener esa información.

Con FtpWebRequest() si puedo conectarme y obtengo la lista de archivos;
pero
cuando trato de descargar los archivos utilizando tambien FtpWebRequest
(),
se vuelve a presentar el mismo problema.

Alguna idea pq si me deja conectarme solo para obtener la lista de
archivos
y no me deja descargarlos?.
Gracias nuevamente por los comentarios

"Alberto Poblacion" wrote:

"JSMD" wrote in message
news:
> Hola,
> Tengo un problema con un aplicativo ftp que he creado.
> Me sale el siguiente error :
>
> The remote server returned an error: 150 Opening BINARY mode data
> connection

El código 150 indica que se ha enviado con éxito el comando para
abir la
conexión. Si a partir de ahi no funciona, probablemente sea problema de
cortafuegos en el lado servidor. En modo Pasivo, el protocolo FTP
requiere
que el cliente abra la conexión de datos hacia un puerto arbitrario del
servidor (que se lo indica el servidor al cliente al iniciar el diálogo
ftp). Si no están esos puertos abiertos en el cortafuegos, la conexión
se
"atasca" en el "Opening", como te está sucediendo.
La solución, desde el punto de vista del servidor, es cambiar a modo
Activo. En este modo el servidor abre la conexión de datos hacia el
cliente,
y no hay problema de cortafuegos en el lado servidor. El problema de
este
modo es que el cliente tiene que tener una dirección visible desde el
servidor (y tener los puertos abiertos en su cortafuegos), por lo que no
funciona si el cliente está detrás de un NAT.
El modo activo/pasivo se cambia mediante la propiedad UsePassive del
FtpWebRequest (por defecto vale true).

.







Microsoft Visual C++ MVP => http://geeks.ms/blogs/rfog
Los puñales y las lanzas no son tan afilados como las lenguas.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida