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

#6 JSMD
27/04/2010 - 19:06 | Informe spam
Hola,

Tanto para leer el directorio como para descargar los archivos, el
ftpwebrequest esta en modo binario, y aun asi se presenta el problema.

Lo que no encuentro es como colocar el webclient en modo binario.

La situacion es la sgte. Necesito descargar o subir todo un lote de
archivos, pero el ftpwebrequest, al parecer, por cada archivos que se
transfiere, cierra y abre la conexion. Corrigeme si me equivoco. En todo
caso, como haria para que no suceda eso. utilizando el ftpwebrequest, por
default keepalive es true, aun asi me parece q la conexion se cierra por cada
archivo


"RFOG" wrote:

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
#7 RFOG
27/04/2010 - 20:49 | Informe spam
On Tue, 27 Apr 2010 19:06:01 +0200, JSMD
wrote:

Hola,

Tanto para leer el directorio como para descargar los archivos, el
ftpwebrequest esta en modo binario, y aun asi se presenta el problema.

Lo que no encuentro es como colocar el webclient en modo binario.



Es que me imagino que no se podrá porque es sólo texto.

La situacion es la sgte. Necesito descargar o subir todo un lote de
archivos, pero el ftpwebrequest, al parecer, por cada archivos que se
transfiere, cierra y abre la conexion. Corrigeme si me equivoco. En todo
caso, como haria para que no suceda eso. utilizando el ftpwebrequest, por
default keepalive es true, aun asi me parece q la conexion se cierra por
cada
archivo




Pero vamos, ni idea si ya lo estás haciendo en binario. Lo de que se
cierra la conexión creo que es cierto, pero no te lo puedo asegurar porque
hace mucho tiempo que lo hice.

De todos modos prueba con un archivo con texto a ver si ese se baja. Y
prueba con un cliente de ftp normal.

"RFOG" wrote:

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.
.







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