Problemas con FTP

Problemas con FTP

Postby goosfancito » Tue Apr 27, 2021 6: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: Select all  Expand view  RUN
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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Problemas con FTP

Postby hmpaquito » Tue Apr 27, 2021 6:59 am

Intenta en modo pasivo, tal que asi:

Code: Select all  Expand view  RUN
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 ) } )
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Problemas con FTP

Postby goosfancito » 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: Select all  Expand view  RUN
  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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Problemas con FTP

Postby goosfancito » 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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Problemas con FTP

Postby hmpaquito » Tue Apr 27, 2021 11:27 am

En mi particular TFtp desarrollé un metodo ::SetTimeOut(). Lo utilizo asi:

Code: Select all  Expand view  RUN
#Define aPosEle(xBusca, aBusca, aDevolver) aDevolver[ AScan(aBusca, xBusca) ]

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


Code: Select all  Expand view  RUN
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
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Problemas con FTP

Postby karinha » Tue Apr 27, 2021 1:21 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7832
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problemas con FTP

Postby goosfancito » Tue Apr 27, 2021 2:02 pm

gracias a ambos!
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Problemas con FTP

Postby hmpaquito » Wed Apr 28, 2021 8:02 am

Espero que puedas comentar al foro cual fue la solución final
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Problemas con FTP

Postby goosfancito » Wed Apr 28, 2021 9: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: Select all  Expand view  RUN
 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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Problemas con FTP

Postby hmpaquito » 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
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Problemas con FTP

Postby Antonio Linares » Wed Apr 28, 2021 2:38 pm

Gustavo,

Aqui tienes ejemplos funcionando correctamente:
viewtopic.php?f=3&t=40326&start=0
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42120
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problemas con FTP

Postby groiss » Wed Apr 28, 2021 3: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: Select all  Expand view  RUN
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
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Problemas con FTP

Postby Antonio Linares » Wed Apr 28, 2021 5:15 pm

Jose Luis,

muchas gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42120
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

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