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.
#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
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 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
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.
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 55 guests