FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemas con FTP
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Problemas con FTP
Posted: Tue Apr 27, 2021 06:19 AM
Hola.
Estoy probando ya que no tengo de donde ver ejemplos en concreto y este programa no me esta devolviendo el array con los archivos que tengo en mi ftp
Code (fw): Select all Collapse
 msgRun( "Conectando al ftp", "Momento por favor...", ;
           { || oInternet := TInternet():New(), ;
             IF( Empty( oInternet:hSession ), ;
                 MsgAlert( "No hay internet" ), ), ;
             oFtp := TFTP():New( cFtp, oInternet, cUsuario, cPassword  ) } )


   IF ! Empty( oFtp:hFTP )
      ftpsetcurrentdirectory(oFtp:hFTP, "./uno/")
      amask := { "*.*" }
      afiles := oFtp:Directory(amask[ 1 ] )
      VIEW afiles
   ELSE
      ? "vacio"
   ENDIF


   oInternet:END()


en mi ftp dentro de la carpeta "uno" existe un solo achivo "antedecende.pdf"

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problemas con FTP
Posted: Tue Apr 27, 2021 06:59 AM
Intenta en modo pasivo, tal que asi:

Code (fw): Select all Collapse
lModoPasivo:= .T.
msgRun( "Conectando al ftp", "Momento por favor...", ;
           { || oInternet := TInternet():New(), ;
             IF( Empty( oInternet:hSession ), ;
                 MsgAlert( "No hay internet" ), ), ;
             oFtp := TFTP():New( cFtp, oInternet, cUsuario, cPassword , lModoPasivo ) } )
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Problemas con FTP
Posted: Tue Apr 27, 2021 10:56 AM
la conexion se hace, lo que no entiendo es lo de la lectura del archivo porque no puedo hacerla.

Code (fw): Select all Collapse
   IF ! Empty( oFtp:hFTP )
      oFile := TFtpFile():new( "./uno/transferencia.pdf", oFtp )
      oFile:OpenRead()

      DO WHILE ( nBytes := Len( cBuffer := oFile:read( nBufSize ) ) ) > 0
      ? "leyendo"
      END DO

      oFile:END()

   ELSE
      ? "No se conecto"
   ENDIF


en el servidor de ftp hay una carpeta que se llama "uno" y dentro de ella el archivo que necesito descargar que se llama "transferencia.pdf"
pero no lo lee de hecho nunca pasa por el bucle. Hay alguna forma de ver el log del ftp si es que envia error?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Problemas con FTP
Posted: Tue Apr 27, 2021 11:05 AM

when i test the code return HB_INETTIMEOUT

why?

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problemas con FTP
Posted: Tue Apr 27, 2021 11:27 AM
En mi particular TFtp desarroll茅 un metodo ::SetTimeOut(). Lo utilizo asi:

Code (fw): Select all Collapse
#Define aPosEle(xBusca, aBusca, aDevolver) aDevolver[ AScan(aBusca, xBusca) ]

oFtp:= TFTP():New( cFtp, oInternet, cUsuario, cPassword , lModoPasivo )
oFtp:SetTimeOut(1, 40)


Code (fw): Select all Collapse
METHOD SetTimeOut(nCualTimeOut, nSecTimeOut)
Local l
Local cTimeOut
Local nMiliSecTimeOut:= nSecTimeOut* 1000
Local nCual
*
#Define INTERNET_OPTION_CONNECT_TIMEOUT 2 聽 聽 聽// 1
#Define INTERNET_OPTION_RECEIVE_TIMEOUT 6 聽 聽 聽// 2
#Define INTERNET_OPTION_SEND_TIMEOUT 聽 聽5 聽 聽 聽// 3
*
nCual:= aPosEle(nCualTimeOut, {1, 2, 3},;
聽 聽 聽 聽 聽 {INTERNET_OPTION_CONNECT_TIMEOUT, INTERNET_OPTION_RECEIVE_TIMEOUT, INTERNET_OPTION_SEND_TIMEOUT})
*

cTimeOut:= LTrim(Str(nMiliSecTimeOut, 10, 0))

l:= InternetSetOption(::oInternet:hSession, nCual, @cTimeOut, 4)

RETURN NIL

*

Postdata: http://www.fivetechsupport.com/forums/v ... =0#p172020
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problemas con FTP
Posted: Tue Apr 27, 2021 01:21 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Problemas con FTP
Posted: Tue Apr 27, 2021 02:02 PM

gracias a ambos!

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problemas con FTP
Posted: Wed Apr 28, 2021 08:02 AM

Espero que puedas comentar al foro cual fue la soluci贸n final

Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Problemas con FTP
Posted: Wed Apr 28, 2021 09:06 AM
sigo teniendo problemas. La conexion pude hacerla sin problemas, pero al momento de "enviar" el archvo me genera el archivo en el ftp pero con 0 bytes.
estoy probando ejemplos y no tengo mucha info con los samples del fw.

Code (fw): Select all Collapse
 聽oInternet := TInternet():new()
聽 聽oFtp 聽 聽 聽:= TFtp():new( cFtp, oInternet, cUsuario, cPassword )
聽 聽
聽 聽IF ! Empty( oFtp:hFTP )
         // nunca me devuelve los archivos que tengo en el ftp
         afiles = oFtp:Directory( "*.*" )
         AEval( afiles, { | aFile | MsgInfo( aFile[ 1 ], aFile[ 3 ] ) } )
聽 聽ELSE
聽 聽 聽 ? "problemas"
聽 聽ENDIF
聽 聽
聽 聽oFtp:END()
聽 聽oInternet:END()
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Problemas con FTP
Posted: Wed Apr 28, 2021 12:57 PM

Pues seg煤n tu ejemplo veo que:

1潞 no has puesto la sugerencia que te hice de pasar el parametro de modo pasivo
2潞 no has puesto la sugerencia que te hice de establecer un time-out

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problemas con FTP
Posted: Wed Apr 28, 2021 02:38 PM

Gustavo,

Aqui tienes ejemplos funcionando correctamente:

viewtopic.php?f=3t=40326start=0

&&

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 234
Joined: Tue Sep 01, 2009 07:55 AM
Re: Problemas con FTP
Posted: Wed Apr 28, 2021 03:37 PM
Buenas tardes
Aqu铆 te pongo como envio yo un grupo de ficheros que paso a la funci贸n en un array a la carpeta destino que a帽ado en la llamada a la funci贸n
Code (fw): Select all Collapse
function FTPSendFiles( aSource,ccarpeta)
聽 聽local 聽cusuario:="", cpassword:="", cftpsite:="", cdirectorio:="", lock:=.f., i:=0
聽 聽cusuario:="miusuario"
聽 聽cpassword:="mipassword"
聽 聽cftpsite:="miurl"
聽 聽cdirectorio:=ccapeta
聽 聽 聽 聽聽oInternet := Turl():New("ftp://"+cusuario+":"+cpassword+"@+cftpsite)
聽 聽 聽 聽 聽 聽 oFTP:= TIpClientFtp():New(oInternet, .f.)
聽 聽 聽 聽 聽 聽 oFTP:open()
聽 聽 聽 聽 聽 聽 if len(cdirectorio)>0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oftp:cwd(alltrim(cdirectorio))
聽 聽 聽 聽 聽 聽 endif
聽 聽 
聽 聽 聽 聽 聽 聽for i=1 to len(asource)
聽 聽 聽 聽 聽 聽lok:=oFtp:UploadFile(".\WWW\"+lower(cfilenoext(asource[i]))+".html",lower(cfilenoext(asource[i]))+".html") //aqui resumo la ruta de origen y extensi贸n a mi conveniencia
聽 聽 聽 聽 聽 聽if !lok
聽 聽 聽 聽 聽 聽 聽 聽 msgstop("No se ha podido conectar","Acceso WEB")
聽 聽 聽 聽 聽 聽endif
聽 聽 聽 聽 聽 聽next i
聽 聽 聽 聽 聽 聽oftp:close()
return nil

Un saludo
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problemas con FTP
Posted: Wed Apr 28, 2021 05:15 PM

Jose Luis,

muchas gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion