Hola a todos, desde hace ya un par de días estoy trabajando en una aplicación que debe conectarse a un servidor FTPS (FTP over SSL) y en modo PASSIVE.
Hasta la fecha había utilizado la clase Systme.Net.FtpWebRequest que funcionaba muy bien para lo que necesitaba (siempre con FTP común), y decía que soportaba SSL.
Bueno lo que sucedió es que la conexión la podía efectuar bien pero al momento de entrar en modo PASSIVE obtenía la siguiente excepcion “The server returned an address in response to the PASV command that is different than the address to which the FTP connection was made.”
Googleando un rato, vi que esto no tenía solución, y sucede porque el equipo responde al comando FTP PASV con una IP diferente a la que con la cual nos conectamos.
Buscando en la Web no encontré ninguna librería gratuita para realizar esto (si algunas pagas: Compare SFTP (SSH File Transfer Protocol) components for .NET (C#, VB.NET))
Y luego buscando implementar una solución en PHP, llegué a MOVEit Freely.
La verdad es simple y sencillo de usar, lo que andaba buscando algo que cumpla el principio KISS (Keep It Simple, Stupid)
Hola Walter!! no se como llegue aca, estaba buscando algo de .net
a lo mejor buscando algo que no encontre, una forma de hacer un upload a un server SFTP para el cliente del rinion, vos sabes cual jua. Las librerias pagas encima son cariiiisimas!
Esta semana veremos como se resuelve
Hola Jesi, como va?
Te comento que luego de hacer un par de cosas, creo que es posible hackear el componente FTPWebRequest para que no tome la conexión como inválida. Esto creo que puede ser posible usando Reflection y modificando la IP que está guardada como de conexión y cambiandola a la que se obtiene al entrar en modo pasivo.
Solo ideas,
Saludos!
Hola Walter: era urgentiiisimo el tema y compraron el componente, es super facil de usar