Buenos dias
Vengo utilizando el siguiene codigo para descargarme unos ficheros txt de un sito ftp:
Pero desde hace una semana 茅ste c贸digo no me conecta al sitio ftp.
Ha coincidido 茅sto con que me han cambiado el router en Telef贸nica debido a que hemos ampliado la velocidad.
No s茅 si puede ser debido a que en el anterior router yo ten铆a quitado los filtros que traia el router zyxel por defecto (este tambien es zyxel, pero no trae el men煤 para quitar los filtros), los filtros eran webset, puertos 21 y 80.
He llamado a Telef贸nica para que me dijeran como quitar 茅stos filtros, y me dicen que no dan soporte para 茅sto, que lo 煤nico que podemos es abrir los puertos, pero yo ya los tengo abiertos.
Alguna idea por si no fuera de 茅sto, o alg煤n c贸digo distino que no le afecto esto?.
Saludos
Vengo utilizando el siguiene codigo para descargarme unos ficheros txt de un sito ftp:
#include "fivewin.ch"
#include "xbrowse.ch"
memvar Publicas
Function Mandaf(fichero)
local i,afiles,oText
local aSource:={}
local aTarget:={}
Local oInternet, oFtp, cServFtp:="nombre del ftp",cUserFTp:="useerftp",cPassFtp:="passwordftp"
oInternet := TInternet():New()
oFTP := TFTP():New( Alltrim(cServFtp), oInternet, Alltrim(cUserFtp),Alltrim(cPassFtp) )
If ! Empty( oFTP:hFTP )
aFiles := {}
aFiles = oFTP:Directory( "/html/recepcion/*.txt")
msgwait("Hemos encontrado "+alltrim(str(len(aFiles)))+" Ficheros en Arsys","AVISO",2)
for i = 1 to len(afiles)
aAdd(aSource,"/html/recepcion/"+Alltrim(afiles[i,1]))
aAdd(aTarget,Publicas:cUnidad+"\ficheros\"+Alltrim(afiles[i,1]))
next i
MsgMeter({| oMeter,oText,oDlg,lEnd | ;
FtpGetFiles( aSource, aTarget, oFTP,oMeter,oText,oDlg,@lEnd )},;
"Descargando Ficheros ...",;
"Descargando Ficheros ...")
Else
msgwait(" NO HAY FICHEROS PARA TRASPASAR DESDE ARSYS","AVISO",2)
Endif
oInternet:End()
Return (nil)
//******************
Function FtpGetFiles( aSource, aTarget, oFTP, oMeter,oText,oDlg,lEnd )
Local nBufSize:=4096
local n
local hTarget
local cBuffer := Space( nBufSize )
local nBytes, nFile := 0, nTotal := 0
local nTotSize := 0
local oFile, aFiles, aSizes := {}
for n = 1 to Len( aSource )
aFiles = oFTP:Directory( aSource[ n ] )
if Len( aFiles ) > 0
AAdd( aSizes, aFiles[ 1 ][ 2 ] ) // first file, size
nTotSize += ATail( aSizes )
else
AAdd( aSizes, 0 )
endif
SysRefresh()
next
oMeter:nTotal := nTotSize
for n = 1 to Len( aSource )
hTarget = FCreate( aTarget[ n ] )
oFile = TFtpFile():New( aSource[ n ], oFTP )
oFile:OpenRead()
nfile:=0
SysRefresh()
while ( nBytes := Len( cBuffer := oFile:Read( nBufSize ) ) ) > 0 .and. !lEnd
FWrite( hTarget, cBuffer, nBytes )
oMeter:Set(nFile+=nBytes)
oText:SetText("Descargando Ficheros.... "+alltrim(str(nFile+=nBytes)))
SysRefresh()
end
FClose( hTarget )
oFtp:Deletefile(oFile:cFilename)
oFile:End()
if lEnd
exit
endif
next
return nilPero desde hace una semana 茅ste c贸digo no me conecta al sitio ftp.
Ha coincidido 茅sto con que me han cambiado el router en Telef贸nica debido a que hemos ampliado la velocidad.
No s茅 si puede ser debido a que en el anterior router yo ten铆a quitado los filtros que traia el router zyxel por defecto (este tambien es zyxel, pero no trae el men煤 para quitar los filtros), los filtros eran webset, puertos 21 y 80.
He llamado a Telef贸nica para que me dijeran como quitar 茅stos filtros, y me dicen que no dan soporte para 茅sto, que lo 煤nico que podemos es abrir los puertos, pero yo ya los tengo abiertos.
Alguna idea por si no fuera de 茅sto, o alg煤n c贸digo distino que no le afecto esto?.
Saludos
--------------------------
Saludos
Jose Luis
Saludos
Jose Luis