varios from files ejemplo descargar conectar archivos all c# .net ftp ftpwebrequest

from - ftpwebrequest c# ejemplo



Error:(502) Comando no implementado. Usando FtpWebResponse.net (1)

Aright, así es como funciona. Estoy intentando configurar un sistema de sondeo para extraer archivos de registro de varios sistemas láser, cada uno con su propio ftp. Sin embargo, me encuentro con dificultades al intentar llamar a la llamada FtpWebResponse para descargar el archivo de registro, el siguiente es el código que estoy usando:

// Get the object used to communicate with the server. FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://192.168.10.140/param.dat"); request.Method = WebRequestMethods.Ftp.DownloadFile; request.Credentials = new NetworkCredential("user", "pass"); request.UsePassive = false; request.Proxy = null; request.UseBinary = true; FtpWebResponse response = (FtpWebResponse)request.GetResponse();

Así que me congelé en la última línea con: "El servidor remoto devolvió un error: (502) Comando no implementado".

Tengo algunas maneras diferentes de tomar los archivos del sistema solo para ver si se trata de algún tipo de configuración Me falta que estos son mis resultados:

  • Microsoft CMD.exe: se conecta bien y puede descargar archivos y ejecutar comandos ftp estándar
  • Internet Explorer: al ingresar en la dirección para archivar descarga el archivo muy bien
  • Firefox: "El servidor remoto devolvió un error: (502) Comando no implementado".
  • Chrome: "Error 606 (net :: ERR_FTP_COMMAND_NOT_SUPPORTED): error desconocido".

Ahora no hay mucha información que pueda obtener sobre la configuración actual de ftp en los sistemas láser debido a una larga historia que no entraré aquí, pero por lo que estoy viendo quizás use algún tipo de protocolo heredado que IE y CMD apoyo o me falta algo obvio. He intentado dar la vuelta a la configuración de FtpWebRequest, pero parece que nada funciona. Realmente me encantaría usar esta solución y no tener el programa auto build ftp batch files, ya que realmente sería triste porque tener todo ejecutado en el programa sería mucho más elegante y fácil de trabajar. ¿Alguna idea gente?


Una de las cosas que podría estar causando su error 502 es intentar usar el modo activo cuando está deshabilitado en el servidor. Intenta usar el modo pasivo:

request.UsePassive = true

Además, de la documentación :

El URI puede ser relativo o absoluto. Si el URI tiene la forma " ftp://contoso.com/%2fpath " (% 2f es un escape ''/''), entonces el URI es absoluto y el directorio actual es / path. Sin embargo, si el URI tiene el formato " ftp://contoso.com/path ", primero .NET Framework inicia sesión en el servidor FTP (utilizando el nombre de usuario y la contraseña establecidos por la propiedad Credentials), luego el directorio actual está establecido en / ruta.

Intente cambiar su URI a una forma absoluta, puede ayudar a evitar la PWD que está viendo.