Ftp y Windows Server 2012 R2

Antonio Mart.
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Ftp y Windows Server 2012 R2

Post by Antonio Mart. »

Hola,

Me estoy rompiendo la cabeza.
Resulta que en mi oficina las primitivas de fwh para Ftp me funcionan muy bien.
No ocurre así en casa del cliente, (Windows Server 2012 R2) donde no consigo que envien información. He probado con Filezilla y SI transmite a través de Ftp.

¿ Alguna idea de qué puede estar pasando ? ¿ Algún problema de las rutinas Ftp de Fwh en Windows 2012 Server R2 ? ¿ WinInet.dll buggy ?

Gracias
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Ftp y Windows Server 2012 R2

Post by karinha »

El mas probable, és que el Ftp del cliente, no acepta el Ftp de FWH por algun motivo que desconozco, acá en Brasil acontece bastante esto.

Saludos.
João Santos - São Paulo - Brasil
User avatar
cmsoft
Posts: 653
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ftp y Windows Server 2012 R2

Post by cmsoft »

Yo utilizo estas funciones para subir archivos por FTP y me funcionan bien actualmente.

Code: Select all

     IF !ConectaServerFTP("xxx.sitio.com","user","password",@oFtp)     
        MsgStop("No pudo conectar")
     ENDIF 
     SubeArchivoFtp(cArchivo,"xxx/public/carpeta-destino/destino.xxx",oFtp)
*****************************************
*** Conectar al servidor FTP
FUNCTION ConectaServerFTP(cNomSer,cNomUsr,cClaUsr,oFtp)
LOCAL cServer, cUser, cPassword, oUrl, cUrl
cServer := cNomSer 
cUser := cNomUsr
cPassword := cClaUsr 
cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer
cUser:= strtran(cUser,"@","&at;")
oUrl := tUrl():New( cUrl )
IF At( "@", cUser ) > 0
   oUrl:cUserID := strtran(cUser,"&at;","@")
   oUrl:cPassword := cPassword
ENDIF
oFTP := tIPClientFtp():New( oUrl, .T. )
oFTP:nConnTimeout := 20000
oFTP:bUsePasv := .T.
oFtp:bTrace := {|| .t.}
oFTP:Open( )
IF oFtp <> NIL
   RETURN .T.
ENDIF
RETURN .F.

******************************************************************************


FUNCTION SubeArchivoFtp(cFileOri,cFileDes,oFtp)
oFtp:Dele( cFileDes )
oFtp:UpLoadFile( cFileOri, cFileDes )
RETURN .T.
 
Antonio Mart.
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: Ftp y Windows Server 2012 R2

Post by Antonio Mart. »

Karinha,

El cliente es el programa Fwh.

CmSoft,

Lo que propones es cambiar a la clase tIPClientFtp. Si no quedara más remedio lo haría, pero no me gusta la idea. Tenía mis propias clases Ftp basadas en la clase TFtp de Fwh.

Gracias a ambos por contestar

---

Lo curioso es que Filezilla en modo Ftp Simple si funciona en el Windows 2012 Server R2.
Y como dije, lo curioso es que acá en la oficina, con otro Windows naturalmente, si funciona perfectamente.

Asi que creo que el problema puede venir por incompatibilidad fwh/WinInet.dll - Windows 2012 Server R2

¿ Alguna idea más ?
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Ftp y Windows Server 2012 R2

Post by Carlos Mora »

Antonio,
FTP es un protocolo muy estandar, no hay riesgos de "incompatibilidad", si puede ser de configuración. ¿Desde donde te estas conectando? ¿A que servidor? ¿Has probado el modo pasivo? ¿Has registrado en el firewall del Windows Server tu programa para que no lo bloquee?

Un saludo
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
hectorpapiri
Posts: 23
Joined: Wed Sep 14, 2016 7:13 pm
Location: Rosario, Santa Fe, Argentina
Contact:

Re: Ftp y Windows Server 2012 R2

Post by hectorpapiri »

Proba modificando la clase TFTP con esto y fijate.

Code: Select all

#define INTERNET_FLAG_PASSIVE       0x08000000  // used for FTP connections  // AD2K


// AD2K (Puerto y Modo Pasivo)
METHOD New( cFTPSite, oInternet, cUserName, cPassword, nPort, lPassiveMode ) CLASS TFTP

   DEFAULT nPort := FTP_PORT
   DEFAULT lPassiveMode := .F.

   ::oInternet = oInternet
   ::cSite     = cFTPSite
   ::cUserName = cUserName
   ::cPassword = cPassword

   if oInternet:hSession != nil
      ::hFTP = InternetConnect( oInternet:hSession, cFTPSite, nPort /*FTP_PORT*/,;
                                ::cUserName, ::cPassword,;
                                INTERNET_SERVICE_FTP, iif(lPassiveMode, INTERNET_FLAG_PASSIVE, 0), 0 )
      if GetLastError() == 0
         aAdd( oInternet:aFTPs, Self )
      else
         ::hFTP := NIL
      endif
   endif

return Self

 
Depues probá pasandole el parámetro .T.

Saludos
Antonio Mart.
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: Ftp y Windows Server 2012 R2

Post by Antonio Mart. »

Buenos días,
Antonio,
FTP es un protocolo muy estandar, no hay riesgos de "incompatibilidad", si puede ser de configuración. ¿Desde donde te estas conectando? ¿A que servidor? ¿Has probado el modo pasivo? ¿Has registrado en el firewall del Windows Server tu programa para que no lo bloquee?
Carlos,

Me estoy conectando a un VPS. Desde mi oficina funciona perfecto, sin ningun problema (Win XP). Desde la oficina del cliente no funciona (Windows Server 2012 R2)
Lo estoy probando todo el tiempo en modo pasivo. Los informaticos del hard me dicen que han configurado todo (firewall) para permitir los accesos a Ftp y de hecho la subida y bajada de archivos CON FILEZILLA desde la oficina del cliente funciona sin problemas. Lo que no funciona alli es mi programa fwh.

---

hectorpapiri,

Gracias por su respuesta. Ya tenia esas modificaciones y utilizando el modo pasivo.

---

¿ Alguna idea más pls ?
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Ftp y Windows Server 2012 R2

Post by Carlos Mora »

Antonio,

No soy experto en Windows Server, pero un problema muy frecuente es que no se añade la aplicación (el 'exe') en la lista blanca del firewall. Eso lo tenía que hacer SIEMPRE en un programa que usaba FTP para enviar copias de seguridad de los ficheros a un servidor.
FTP es algo bastante conocido, los problemas suelen venir por parte de la configuración. Filezilla te funciona porque el mismo instalador registra el programa en el firewall.

Pide al técnico que te muestre la lista blanca de programas en el firewall.

en windows 10 eso está en :

Panel de control\Todos los elementos de Panel de control\Firewall de Windows\Aplicaciones permitidas
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ftp y Windows Server 2012 R2

Post by cnavarro »

Aprovechando el hilo
Qué clase o herramienta es la que utilizáis para realizar las conexiones FTP con Fivewin?
Quiero incluir algo de ésto en FivEdit.
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Antonio Mart.
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: Ftp y Windows Server 2012 R2

Post by Antonio Mart. »

Carlos Mora wrote:Antonio,

No soy experto en Windows Server, pero un problema muy frecuente es que no se añade la aplicación (el 'exe') en la lista blanca del firewall. Eso lo tenía que hacer SIEMPRE en un programa que usaba FTP para enviar copias de seguridad de los ficheros a un servidor.
FTP es algo bastante conocido, los problemas suelen venir por parte de la configuración. Filezilla te funciona porque el mismo instalador registra el programa en el firewall.

Pide al técnico que te muestre la lista blanca de programas en el firewall.

en windows 10 eso está en :

Panel de control\Todos los elementos de Panel de control\Firewall de Windows\Aplicaciones permitidas
Carlos,

Se lo dije escribí al cliente que se lo dijera al técnico hard. Quizá me ha faltado insistir en lo de la lista de .exes que le pasé.
Voy a hacer lo que dices. Que me muestre mis programas en la lista blanca del firewall.
Agradezco tus anotaciones y consejos.
Antonio Mart.
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: Ftp y Windows Server 2012 R2

Post by Antonio Mart. »

cnavarro wrote:Aprovechando el hilo
Qué clase o herramienta es la que utilizáis para realizar las conexiones FTP con Fivewin?
Quiero incluir algo de ésto en FivEdit.
Utilizo la clase TFtp, pero no la uso directamente sino que creé otra intermedia para controlar el flujo de subida y bajada de cada archvio, que básicamente son pequeñas mejoras a metodos upFile y downFile que pillé por el foro.

En todo caso, la clase TFtp se ha quedado obsoleta en el sentido de que es un protocolo que no es seguro y es rechazado muchas veces por ello.
Así tenemos Ftp (simple) que es el que tiene Fwh, Ftps (Como Ftp pero con un túnel de seguridad) y SFtp (que no tiene nada que ver con el protocolo Ftp salvo el nombre.)

En este mismo hilo un compañero (cmSoft) ha sugerido usar tIPClientFtp que no sé realmente qué protocolo usa.
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ftp y Windows Server 2012 R2

Post by cnavarro »

Ya, también había pensado en ello y hacerlo a mano como dices que hace el compañero, pero pensaba que había alguna clase actualizada que se pudiera utilizar, y si no pues veremos lo que hago si no hay nada standard
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Ftp y Windows Server 2012 R2

Post by Carlos Mora »

Cristobal,
En su momento usé las provistas por FW, pero si tuviera que hacerlo de nuevo trataría de ir por el camino de CURL, que te garantiza que se mantiene actualizado, maneja bien todos los protocolos, y es bastante sencillo. De hecho en el contrib de hbcurl los test se hacen con FTP, asi es que seguramente funciona correctamente.

Y yo se que a ti CURL se te da bien :)
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ftp y Windows Server 2012 R2

Post by cnavarro »

Carlos, justamente en eso estaba pensando, me has leído el pensamiento
A ver si tengo un rato y trato de hacer una clase o utilidad que me sirva
Ya te preguntaré si tengo alguna duda
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Enrrique Vertiz
Posts: 440
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru
Contact:

Re: Ftp y Windows Server 2012 R2

Post by Enrrique Vertiz »

Saludos Antonio

Pues mi respuesta no te da ninguna solucion, pero si me sumo a tu problema, simplemente TipClientFtp() desde varios FTP mios me deja bajar sin problemas, pero desde un FTP en el server de un cliente mio, no me deja bajar, pero si le doy aFiles := oFTP:ListFiles( "*.*") me muestra que estan los archivos, pero al dar oFtp:DownLoadFile( cFileDown ) simplemente retorna .F., pero OJO solo en el FTP de mi cliente, en los 2 mios, externos por cierto si me baja sin problemas, pero si uso la clase qFTPClient() SI baja sin problemas, los ubica y los baja.

Si alguien sabe porque con una clase SI funciona y con otra NO seria ideal ...
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Post Reply