Problemas con FTP

Problemas con FTP

Postby JoseLuis » Tue Aug 02, 2011 8:25 am

Buenos dias
Vengo utilizando el siguiene codigo para descargarme unos ficheros txt de un sito ftp:
Code: Select all  Expand view
#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 nil


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
--------------------------
Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: Problemas con FTP

Postby Sistem » Wed Nov 07, 2012 6:55 pm

hi Joseluis,
la función arriba fue de gran ayuda
tener un ejemplo para Upload??

(google traductor)
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
Sistem
 
Posts: 226
Joined: Sun May 13, 2012 7:52 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 29 guests